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

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

Merged
merged 2 commits into from
Apr 30, 2023

Conversation

clayburn
Copy link
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
Copy link
Member

@lhotari lhotari left a comment

Choose a reason for hiding this comment

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

LGTM

@lhotari
Copy link
Member

lhotari commented Apr 29, 2023

/pulsarbot rerun-failure-checks

Copy link
Member

@tisonkun tisonkun left a comment

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
Copy link

Codecov Report

Merging #20187 (9689d1a) into master (7bd9998) will increase coverage by 0.66%.
The diff coverage is n/a.

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

@tisonkun
Copy link
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