From 1ec18455cdc89b9028f46651af510eab68c59ded Mon Sep 17 00:00:00 2001 From: Clay Johnson Date: Mon, 12 Oct 2026 12:19:05 +0100 Subject: [PATCH] AVRO-3882: [Java][Build] Publish Build Scans to develocity.apache.org Add the Develocity Maven extension and Common Custom User Data extension so that Maven builds publish a Build Scan to the ASF Develocity instance when, and only when, the build is authenticated with an access key. Builds without a key, including fork pull requests and contributors' local builds, are unaffected. The Java-focused workflows export DEVELOCITY_ACCESS_KEY from the secret of the same name. Interop jobs in the other language workflows are left out. The Develocity build cache stays disabled, since the build already uses the Apache Maven Build Cache Extension. --- .github/workflows/java-publish-snapshot.yml | 1 + .github/workflows/rat.yml | 2 + .github/workflows/spotless.yml | 2 + .github/workflows/test-lang-java.yml | 3 ++ .gitignore | 1 + .mvn/develocity.xml | 41 +++++++++++++++++++++ .mvn/extensions.xml | 10 +++++ 7 files changed, 60 insertions(+) create mode 100644 .mvn/develocity.xml diff --git a/.github/workflows/java-publish-snapshot.yml b/.github/workflows/java-publish-snapshot.yml index 014dd5cc55e..ad9877ade9b 100644 --- a/.github/workflows/java-publish-snapshot.yml +++ b/.github/workflows/java-publish-snapshot.yml @@ -62,6 +62,7 @@ jobs: env: ASF_USERNAME: ${{ secrets.NEXUS_USER }} ASF_PASSWORD: ${{ secrets.NEXUS_PW }} + DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} run: | echo "apache.snapshots.https$ASF_USERNAME$ASF_PASSWORD" > ${{runner.temp}}/settings.xml mvn --settings ${{runner.temp}}/settings.xml -U -B -e -fae -ntp -PskipQuality deploy diff --git a/.github/workflows/rat.yml b/.github/workflows/rat.yml index d63ad8ba76f..645cff7a2c4 100644 --- a/.github/workflows/rat.yml +++ b/.github/workflows/rat.yml @@ -55,4 +55,6 @@ jobs: maven-version: 3.9.11 - name: Run Rat + env: + DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} run: mvn test -Dmaven.main.skip=true -Dmaven.test.skip=true -DskipTests=true -Dinvoker.skip=true -P rat -pl :avro-toplevel diff --git a/.github/workflows/spotless.yml b/.github/workflows/spotless.yml index ee217dc5e20..f3893268e4e 100644 --- a/.github/workflows/spotless.yml +++ b/.github/workflows/spotless.yml @@ -58,4 +58,6 @@ jobs: maven-version: 3.9.11 - name: Run Spotless Check + env: + DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} run: mvn spotless:check diff --git a/.github/workflows/test-lang-java.yml b/.github/workflows/test-lang-java.yml index ea541b0c1ff..7e9cf2c0833 100644 --- a/.github/workflows/test-lang-java.yml +++ b/.github/workflows/test-lang-java.yml @@ -33,6 +33,9 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true +env: + DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} + jobs: test: name: "Java Test" diff --git a/.gitignore b/.gitignore index d2296d755e3..b2075f32129 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ composer.lock .copilot/ .cursor/ .opencode/ +.mvn/.develocity/ diff --git a/.mvn/develocity.xml b/.mvn/develocity.xml new file mode 100644 index 00000000000..11c937a250a --- /dev/null +++ b/.mvn/develocity.xml @@ -0,0 +1,41 @@ + + + + avro + + https://develocity.apache.org + + + #{env['GITHUB_ACTIONS'] == null} + + + + + #{{'0.0.0.0'}} + + + + + false + + + false + + + diff --git a/.mvn/extensions.xml b/.mvn/extensions.xml index e2e84018d96..a1582f7264d 100644 --- a/.mvn/extensions.xml +++ b/.mvn/extensions.xml @@ -22,4 +22,14 @@ maven-build-cache-extension 1.0.1 + + com.gradle + develocity-maven-extension + 2.6.0 + + + com.gradle + common-custom-user-data-maven-extension + 2.4.0 +