maven icon indicating copy to clipboard operation
maven copied to clipboard

Develocity integration

Open ribafish opened this issue 1 year ago • 4 comments

@slachiewicz, it was nice meeting you at Community over Code today. This PR will enable you to publish Build Scans to ge.apache.org as discussed.

Description

This PR publishes a build scan for every CI build and for every local build from an authenticated Apache committer. The build will not fail if publishing fails. Local and remote caching was left disabled on this PR by design so that the build is not affected by this change.

The build scans of the Apache Maven Core project are published to the Develocity instance at ge.apache.org, hosted by the Apache Software Foundation and run in partnership between the ASF and Gradle. This Develocity instance has all features and extensions enabled and is freely available for use by the Apache Maven Core project and all other Apache projects.

On this Develocity instance, Apache Maven Core will have access not only to all of the published build scans but other aggregate data features such as:

  • Dashboards to view all historical build scans, along with performance trends over time
  • Build failure analytics for enhanced investigation and diagnosis of build failures
  • Test failure analytics to better understand trends and causes around slow, failing, and flaky tests

Please let me know if there are any questions about the value of Develocity or the changes in this pull request and I’d be happy to address them.

Checklist

Following this checklist to help us incorporate your contribution quickly and easily:

  • [x] Make sure there is a JIRA issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes. Account creation is in progress
  • [x] Each commit in the pull request should have a meaningful subject line and body.
  • [ ] Format the pull request title like [MNG-XXX] SUMMARY, where you replace MNG-XXX and SUMMARY with the appropriate JIRA issue.
  • [ ] Also format the first line of the commit message like [MNG-XXX] SUMMARY. Best practice is to use the JIRA issue title in both the pull request title and in the first line of the commit message.
  • [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • [x] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
  • [x] You have run the Core IT successfully.

If your pull request is about ~20 lines of code you don't need to sign an Individual Contributor License Agreement if you are unsure please ask on the developers list.

To make clear that you license your contribution under the Apache License Version 2.0, January 2004 you have to acknowledge this by using the following check-box.

ribafish avatar Jun 04 '24 10:06 ribafish

I don't mind CI build. But -1 for per default every local build from an authenticated Apache committer. I don't want to send data from my laptop as I have no idea what data will be used from my environment, (dump of env var with my gpg passphrase)

could be eventually interesting to enable this here https://github.com/apache/maven-gh-actions-shared/ if eventually we want to compare maven versions/jdk for more CI builds

olamy avatar Jun 04 '24 11:06 olamy

@olamy, this will only publish local builds if you authenticate with your Apache LDAP credentials on ge.apache.org; unauthenticated publishing is not configured for Apache projects. As for the data - unless you are explicitly printing out all of your env variables or adding them to custom values, those values aren't captured anywhere, even if used as an input to the build (in which case a hash is captured).

About https://github.com/apache/maven-gh-actions-shared/ - it is a limitation of gihub actions that shared workflows can't use secrets, unless they're passed in, so unfortunately that can't be directly integrated there as the env var needs to be set up per the "root" workflow.

ribafish avatar Jun 04 '24 12:06 ribafish

@olamy - Just to double down on what @ribafish says, the local build functionality requires explicitly opting in by logging in to ge.apache.org.

clayburn avatar Jun 04 '24 12:06 clayburn

Thanks for proposition.

First I would like disable such feature at local build at all, we can log into ge.a.o and forgot to logout before build.

If we agree that it will be valuable for Maven project build, we can try implements it in shared-gh-actions.

I would like to see a discussion on ML about it.

slawekjaranowski avatar Jun 04 '24 18:06 slawekjaranowski

This pull request is stale because it has been waiting for feedback for 60 days. Remove the stale label or comment on this PR, or it will be automatically closed in 30 days.

github-actions[bot] avatar Aug 18 '25 03:08 github-actions[bot]

This pull request has been closed because no response was received within 90 days.

github-actions[bot] avatar Sep 18 '25 03:09 github-actions[bot]