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

Added Develocity configuration and enabled remote build cache. #1

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

ribafish
Copy link
Owner

WHAT

As one of the impactful Eclipse projects, we (the Develocity Solutions team) would like to invite you to be a part of the Eclipse Develocity evaluation initiative.

This improvement will enhance the functionality of the TractusX EDC build by publishing build scans to develocity-staging.eclipse.org, hosted by the Eclipse Foundation and run in partnership between the Eclipse Foundation and Gradle. This Develocity is freely available for use by the Eclipse TractusX EDC project and all other Eclipse projects.

Here is a blog post abut Develocity from Eclipse Foundation, as well as a Develocity presentation, made in collaboration with Eclipse Foundation (and Gradle).

More information can be read in the Eclipse announcement.

WHY

On this Develocity instance, the Eclipse TractusX EDC project will have access not only to all of the published build scans but also to other aggregate data features such as:

  • Dashboards to view all historical build scans, along with performance trends over time. For example, look at the Quarkus instance trends dashboard with the ci filter applied.
  • Build failure analytics for enhanced investigation and diagnosis of build failures. You can also explore the Quarkus instance for example of a different OSS projects Develocity instance.
  • Test failure analytics to better understand trends and causes around slow, failing, and flaky tests. Going to the Quarkus instance again, this will probably give you a better representation of the type of data available. You can also order it by flakiness, which is a good starting point when deciding which tests need fixing the most.

This will also enable you to (optionally) use build time optimization features, such as build caching and Predictive Test Selection.

I ran some tests about build speed improvements when caching is configured with the following results - there is additional ~13s savings available when the project is relocated, but that would require a fix in the EDC Gradle Plugins / AutodocDependencyInjector. Here are the best case savings:

Invocation Build time without cache Build time with cache Build time savings
assemble 4m 33.373s 56.972s 3m 36.401s (79%)
build 6m 43.965s 58.916s 5m 45.049s (85%)
test 3m 41.765s 7.475s 3m 34.290s (96%)
javadoc 2m 28s 4s 2m 24s (97%)

FURTHER NOTES

IMPORTANT: If your project is interested in being a part of this initiative, please reach out to Eclipse infra by filling out a helpdesk ticket to get the CI setup and credentials.

Closes eclipse-tractusx#1815

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.

Develocity integration
1 participant