Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develocity integration #1554

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

ribafish
Copy link

@ribafish ribafish commented Jun 4, 2024

@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:

  • 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
  • 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.
  • Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • Run mvn clean verify to make sure basic checks pass. A more thorough check will
    be performed on your pull request automatically.
  • 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.

@olamy
Copy link
Member

olamy commented Jun 4, 2024

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

@ribafish
Copy link
Author

ribafish commented Jun 4, 2024

@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.

@clayburn
Copy link

clayburn commented Jun 4, 2024

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

@ribafish ribafish force-pushed the gk/develocityIntegration branch from 68a09a6 to fd4275e Compare June 4, 2024 15:12
@slawekjaranowski
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants