Skip to content

Commit ee4092d

Browse files
committed
Enable Develocity build scans
1 parent 34f5b01 commit ee4092d

File tree

6 files changed

+54
-3
lines changed

6 files changed

+54
-3
lines changed

.github/workflows/build-common.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,20 @@ jobs:
6868
build
6969
-PtestJavaVersion=${{ matrix.test-java-version }}
7070
-Porg.gradle.java.installations.paths=${{ steps.setup-java-test.outputs.path }},${{ steps.setup-java.outputs.path }}
71+
env:
72+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
7173
- name: generate
7274
# Skip running on macos-latest which doesn't have docker
7375
if: matrix.os == 'ubuntu-latest'
7476
run: ./gradlew generateSemanticConventions --console=plain
77+
env:
78+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
7579

7680
# Run spotless after generate to format generated code
7781
- name: spotless
7882
run: ./gradlew spotlessApply
83+
env:
84+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
7985

8086
- name: Check that semconv generation is up to date
8187
run: |

.github/workflows/build-pull-request.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ jobs:
1515
uses: ./.github/workflows/build-common.yml
1616
with:
1717
cache-read-only: true
18+
secrets:
19+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
1820

1921
link-check:
2022
uses: ./.github/workflows/reusable-link-check.yml

.github/workflows/build.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,5 @@ permissions:
1313
jobs:
1414
common:
1515
uses: ./.github/workflows/build-common.yml
16+
secrets:
17+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}

.github/workflows/codeql.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ jobs:
5656
# --no-daemon is required for codeql to observe the compilation
5757
# (see https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis#specifying-build-commands)
5858
run: ./gradlew assemble --no-build-cache --no-daemon
59+
env:
60+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
5961

6062
- name: Perform CodeQL analysis
6163
uses: github/codeql-action/analyze@16140ae1a102900babc80a33c44059580f687047 # v4.30.9

.github/workflows/release.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ permissions:
88
jobs:
99
build:
1010
uses: ./.github/workflows/build-common.yml
11+
secrets:
12+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
1113

1214
release:
1315
permissions:
@@ -41,6 +43,7 @@ jobs:
4143
SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
4244
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
4345
GPG_PASSWORD: ${{ secrets.GPG_PASSWORD }}
46+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
4447

4548
- name: Set environment variables
4649
run: |
@@ -173,6 +176,7 @@ jobs:
173176
env:
174177
VERSION: ${{ needs.release.outputs.version }}
175178
PRIOR_VERSION: ${{ needs.release.outputs.prior-version }}
179+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
176180
run: |
177181
./gradlew japicmp -PapiBaseVersion=$PRIOR_VERSION -PapiNewVersion=$VERSION
178182
./gradlew --refresh-dependencies japicmp

settings.gradle.kts

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,46 @@ dependencyResolutionManagement {
1717
}
1818
}
1919

20+
val develocityServer = "https://develocity.opentelemetry.io"
21+
val isCI = System.getenv("CI") != null
22+
val develocityAccessKey = System.getenv("DEVELOCITY_ACCESS_KEY") ?: ""
23+
24+
// if develocity access key is not given and we are in CI, then we publish to scans.gradle.com
25+
val useScansGradleCom = isCI && develocityAccessKey.isEmpty()
26+
2027
develocity {
28+
if (useScansGradleCom) {
29+
buildScan {
30+
termsOfUseUrl = "https://gradle.com/help/legal-terms-of-use"
31+
termsOfUseAgree = "yes"
32+
}
33+
} else {
34+
server = develocityServer
35+
buildScan {
36+
publishing.onlyIf { it.isAuthenticated }
37+
}
38+
}
39+
2140
buildScan {
22-
publishing.onlyIf { System.getenv("CI") != null }
23-
termsOfUseUrl.set("https://gradle.com/help/legal-terms-of-use")
24-
termsOfUseAgree.set("yes")
41+
uploadInBackground = !isCI
42+
43+
capture {
44+
fileFingerprints = true
45+
}
46+
47+
buildScanPublished {
48+
java.io.File("build-scan.txt").printWriter().use { writer ->
49+
writer.println(buildScanUri)
50+
}
51+
}
52+
}
53+
}
54+
55+
if (!useScansGradleCom) {
56+
buildCache {
57+
remote(develocity.buildCache) {
58+
isPush = isCI && develocityAccessKey.isNotEmpty()
59+
}
2560
}
2661
}
2762

0 commit comments

Comments
 (0)