Skip to content

[improve][build] Capture local build scans on ge.apache.org to benefit from deep build insights - #20187

Merged
tisonkun merged 2 commits into
apache:masterfrom
clayburn:gradle-enterprise-extension-1.17
Apr 30, 2023
Merged

[improve][build] Capture local build scans on ge.apache.org to benefit from deep build insights#20187
tisonkun merged 2 commits into
apache:masterfrom
clayburn:gradle-enterprise-extension-1.17

Conversation

@clayburn

Copy link
Copy Markdown
Contributor

Motivation

This PR publishes a build scan for every CI build on 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 Pulsar 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 Pulsar project and all other Apache projects.

Currently, the Apache Pulsar build is configured to publish build scans to ge.apache.org for CI only. This pull request enhances that functionality by also publishing build scans to ge.apache.org for authenticated Apache committers. On this Gradle Enterprise instance, Apache Pulsar 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

Modifications

  • Update the Gradle Enterprise Maven Extension to 1.17
  • Remove the logic that copies ge-extensions.xml in favor of the more conventional extensions.xml file. Updates to the publishIfAuthenticated property in Gradle Enterprise Maven Extension 1.17 will cause the build to print no output if the user is not authenticated to ge.apache.org.

Verifying this change

  • Make sure that the change passes the CI checks.

This change is a trivial rework / code cleanup without any test coverage.

Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

  • Dependencies (add or upgrade a dependency)
  • The public API
  • The schema
  • The default values of configurations
  • The threading model
  • The binary protocol
  • The REST endpoints
  • The admin CLI options
  • The metrics
  • Anything that affects deployment

Documentation

  • doc
  • doc-required
  • doc-not-needed
  • doc-complete

Matching PR in forked repository

PR in forked repository:

With updates in Gradle Enterprise Maven Extension 1.17, the `publishIfAuthenticated` configuration will silently not publish a build scan if the user is not authenticated to https://ge.apache.org.
@github-actions github-actions Bot added the doc-not-needed Your PR changes do not impact docs label Apr 26, 2023
@clayburn clayburn changed the title [improve][ci] Update Gradle Enterprise Maven Extension to 1.17 [improve][ci] Capture local build scans on ge.apache.org to benefit from deep build insights Apr 26, 2023
@clayburn clayburn changed the title [improve][ci] Capture local build scans on ge.apache.org to benefit from deep build insights [improve][build] Capture local build scans on ge.apache.org to benefit from deep build insights Apr 26, 2023
@tisonkun
tisonkun requested review from lhotari and tisonkun April 27, 2023 02:36

@lhotari lhotari left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@lhotari

lhotari commented Apr 29, 2023

Copy link
Copy Markdown
Member

/pulsarbot rerun-failure-checks

@tisonkun tisonkun left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Although I'm thinking of further cleanup for setting:

env:
  GRADLE_ENTERPRISE_ACCESS_KEY: ...

and drop the handmade action, it should not be a blocker to us for merging this patch.

@codecov-commenter

codecov-commenter commented Apr 29, 2023

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.92%. Comparing base (7bd9998) to head (9689d1a).
⚠️ Report is 2581 commits behind head on master.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff              @@
##             master   #20187      +/-   ##
============================================
+ Coverage     72.25%   72.92%   +0.66%     
+ Complexity    31952    31858      -94     
============================================
  Files          1855     1868      +13     
  Lines        138267   138468     +201     
  Branches      15222    15236      +14     
============================================
+ Hits          99901   100973    +1072     
+ Misses        30386    29460     -926     
- Partials       7980     8035      +55     
Flag Coverage Δ
inttests 24.16% <ø> (?)
systests 24.79% <ø> (?)
unittests 72.20% <ø> (-0.05%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 199 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@tisonkun

Copy link
Copy Markdown
Member

Merging...

@tisonkun
tisonkun merged commit 8c963e3 into apache:master Apr 30, 2023
@clayburn
clayburn deleted the gradle-enterprise-extension-1.17 branch May 2, 2023 12:57
@poorbarcode poorbarcode added this to the 3.1.0 milestone May 7, 2023
lhotari pushed a commit that referenced this pull request May 29, 2023
…t from deep build insights (#20187)

(cherry picked from commit 8c963e3)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc-not-needed Your PR changes do not impact docs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants