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

Connect build to ge.spring.io to benefit from deep build insights and faster builds #1109

Merged
merged 2 commits into from
Oct 9, 2023

Conversation

erichaagdev
Copy link
Contributor

@erichaagdev erichaagdev commented Jul 27, 2023

This pull request connects the build to the Gradle Enterprise instance at https://ge.spring.io/. This allows the Spring Statemachine project to benefit from deep build insights provided by build scans and faster build speeds for all contributors as a result of remote build caching.

This Gradle Enterprise instance has all features and extensions enabled and is freely available for use by Spring Statemachine and all other Spring projects. On this Gradle Enterprise instance, Spring Statemachine 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

Spring Boot, Spring Framework, and Spring Security are already connected to https://ge.spring.io/ and are benefiting from these features.

For these features to be made possible, appropriate access must be configured to publish build scans and to write to the remote build cache. To ensure a consistent experience for all Spring contributors, the Spring Gradle Enterprise Conventions plugin is used. Its documentation details how to configure credentials to publish build scans and for writing to the remote build cache.

⚠️ For GitHub actions, this will require someone from the Spring team to add the appropriate secrets if they are not already available. Then, a subsequent change will be required to add the credentials to the appropriate workflows. See the Spring Security Kerberos project for an example of how these credentials are configured.

@trevormarshall was kind enough to configure the necessary credentials. I have gone ahead and updated workflows accordingly. I have not updated any workflows that build PRs.

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

This change publishes a build scan to ge.spring.io for every local
build from an authenticated Spring committer and for CI where
appropriate access tokens are available. The build will not fail if
publishing fails.

This change also allows the build to benefit from remote build caching,
providing faster builds for all contributors.

Additionally, the project will have access to all features of Gradle
Enterprise 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
Only workflows that do not build PRs have been configured with
credentials.
@jvalkeal jvalkeal added this to the 4.0.0-M1 milestone Oct 9, 2023
@jvalkeal jvalkeal merged commit 33d68e7 into spring-projects:main Oct 9, 2023
9 checks passed
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.

2 participants