tree d34f66d2e254e51a285504ebb1065443d825d757
parent 815dfc6386d02316b63595c734b0eb19eb0c1e5d
author Clay Johnson <cjohnson@gradle.com> 1683653505 +0200
committer GitHub <noreply@github.com> 1683653505 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJkWoOBCRBK7hj4Ov3rIwAAMeEIABZf7vLXYcYXvjvDhBnfDheH
 z2/ntVQZpSF8oLV7ExolhwTgmXeADjECOKm5dgGAj8RCvP1BDlCF+k8vFUtprpCv
 FUP6a3DIosHwULS77W//9pUZjbITB8DLGzOGUhNZxis1mzuwpXZbk2djLSpFPgou
 3k5/aE9P9JALQf8FwOXQOD6JDyAkM2cf8DLgxckMq1mxTkhFvaMwXkt2eBZLMFD/
 PGHlV7vBCSGbg24NRNX1y/AyIi99jufFI8G2BoblpyZWUKQLudBLWLAIqIN8pD6g
 j1tqcrboH50vqtAULW3NIofmz8GCbfcJI/NNHsRAWzUYkrow4C94JxDMWnPPZmg=
 =/X+a
 -----END PGP SIGNATURE-----
 

Capture build scans on ge.apache.org to benefit from deep build insights (#1665)

This PR publishes a build scan for every CI build on Jenkins and GitHub Actions and for every local build from an authenticated Apache committer. The build will not fail if publishing fails.

The build scans of the Apache Samza project are published to the Gradle Enterprise instance at ge.apache.org, hosted by the Apache Software Foundation and run in partnership between the ASF and Gradle. This Gradle Enterprise instance has all features and extensions enabled and is freely available for use by the Apache Samza project and all other Apache projects.

This pull request enhances the functionality of publishing build scans to the publicly available scans.gradle.com by instead publishing build scans to ge.apache.org. On this Gradle Enterprise instance, Apache Samza 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
If interested in exploring a fully populated Gradle Enterprise instance, please explore the builds already connected to ge.apache.org, the Spring project’s instance, or any number of other OSS projects for which we sponsor instances of Gradle Enterprise.
