Skip to content

Commit 685d119

Browse files
authored
Enable Develocity build scans (#7776)
1 parent cc3b43c commit 685d119

File tree

9 files changed

+67
-3
lines changed

9 files changed

+67
-3
lines changed

.github/repository-settings.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ private admin repo.
88

99
- `GPG_PASSWORD` - stored in OpenTelemetry-Java 1Password
1010
- `GPG_PRIVATE_KEY` - stored in OpenTelemetry-Java 1Password
11+
- `DEVELOCITY_ACCESS_KEY` - stored in OpenTelemetry-Java 1Password
12+
- Generated at https://develocity.opentelemetry.io > My settings > Access keys
13+
- Format of env var is `develocity.opentelemetry.io=<access key>`,
14+
see [docs](https://docs.gradle.com/enterprise/gradle-plugin/#via_environment_variable)
1115
- `NVD_API_KEY` - stored in OpenTelemetry-Java 1Password
1216
- Generated at https://nvd.nist.gov/developers/request-an-api-key
1317
- Key is associated with [@trask](https://github.com/trask)'s gmail address

.github/workflows/benchmark-tags.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ jobs:
3737
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
3838
- name: Run jmh
3939
run: ./gradlew jmhJar
40+
env:
41+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
4042

4143
- name: Run Benchmark
4244
run: |

.github/workflows/benchmark.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ jobs:
3939
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0
4040
- name: Run jmh
4141
run: ./gradlew jmhJar
42+
env:
43+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
4244

4345
- name: Run Benchmark
4446
run: |

.github/workflows/build.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ jobs:
8080
env:
8181
# JMH-based tests run only if this environment variable is set to true
8282
RUN_JMH_BASED_TESTS: ${{ matrix.jmh-based-tests }}
83+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
8384

8485
- name: Check for diff
8586
# The jApiCmp diff compares current to latest, which isn't appropriate for release branches
@@ -159,6 +160,7 @@ jobs:
159160
SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
160161
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
161162
GPG_PASSWORD: ${{ secrets.GPG_PASSWORD }}
163+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
162164

163165
build-graal:
164166
name: Build GraalVM
@@ -184,6 +186,8 @@ jobs:
184186
java --version
185187
native-image --version
186188
./gradlew nativeTest
189+
env:
190+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
187191

188192
required-status-check:
189193
# markdown-link-check is not required so pull requests are not blocked if external links break

.github/workflows/codeql.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ jobs:
5858
# --no-daemon is required for codeql to observe the compilation
5959
# (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)
6060
run: ./gradlew assemble --no-build-cache --no-daemon
61+
env:
62+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
6163

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

.github/workflows/javadoc-crawler.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,5 @@ jobs:
2424

2525
- name: Run crawler
2626
run: ./gradlew :javadoc-crawler:crawl
27+
env:
28+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}

.github/workflows/owasp-dependency-check-daily.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ jobs:
2828
run: ./gradlew dependencyCheckAnalyze
2929
env:
3030
NVD_API_KEY: ${{ secrets.NVD_API_KEY }}
31+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
3132

3233
- name: Upload report
3334
if: always()

.github/workflows/release.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ jobs:
3737
SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
3838
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
3939
GPG_PASSWORD: ${{ secrets.GPG_PASSWORD }}
40+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
4041

4142
- name: Set environment variables
4243
run: |
@@ -191,6 +192,7 @@ jobs:
191192
env:
192193
VERSION: ${{ needs.release.outputs.version }}
193194
PRIOR_VERSION: ${{ needs.release.outputs.prior-version }}
195+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
194196
run: |
195197
./gradlew japicmp -PapiBaseVersion=$PRIOR_VERSION -PapiNewVersion=$VERSION
196198
./gradlew --refresh-dependencies japicmp
@@ -199,6 +201,7 @@ jobs:
199201
- name: Update versions in README.md
200202
env:
201203
VERSION: ${{ needs.release.outputs.version }}
204+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
202205
run: |
203206
./gradlew updateVersionInDocs -Prelease.version=$VERSION
204207
git add README.md

settings.gradle.kts

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,54 @@ include(":sdk-extensions:jaeger-remote-sampler")
7171
include(":testing-internal")
7272
include(":animal-sniffer-signature")
7373

74+
val develocityServer = "https://develocity.opentelemetry.io"
75+
val isCI = System.getenv("CI") != null
76+
val develocityAccessKey = System.getenv("DEVELOCITY_ACCESS_KEY") ?: ""
77+
78+
// if develocity access key is not given and we are in CI, then we publish to scans.gradle.com
79+
val useScansGradleCom = isCI && develocityAccessKey.isEmpty()
80+
7481
develocity {
82+
if (useScansGradleCom) {
83+
buildScan {
84+
termsOfUseUrl = "https://gradle.com/help/legal-terms-of-use"
85+
termsOfUseAgree = "yes"
86+
}
87+
} else {
88+
server = develocityServer
89+
buildScan {
90+
publishing.onlyIf { it.isAuthenticated }
91+
92+
gradle.startParameter.projectProperties["testJavaVersion"]?.let { tag(it) }
93+
gradle.startParameter.projectProperties["testJavaVM"]?.let { tag(it) }
94+
gradle.startParameter.projectProperties["smokeTestSuite"]?.let {
95+
value("Smoke test suite", it)
96+
}
97+
}
98+
}
99+
75100
buildScan {
76-
publishing.onlyIf { System.getenv("CI") != null }
77-
termsOfUseUrl.set("https://gradle.com/help/legal-terms-of-use")
78-
termsOfUseAgree.set("yes")
101+
uploadInBackground = !isCI
102+
103+
capture {
104+
fileFingerprints = true
105+
}
106+
107+
if (!gradle.startParameter.taskNames.contains("listTestsInPartition") &&
108+
!gradle.startParameter.taskNames.contains(":test-report:reportFlakyTests")) {
109+
buildScanPublished {
110+
File("build-scan.txt").printWriter().use { writer ->
111+
writer.println(buildScanUri)
112+
}
113+
}
114+
}
115+
}
116+
}
117+
118+
if (!useScansGradleCom) {
119+
buildCache {
120+
remote(develocity.buildCache) {
121+
isPush = isCI && develocityAccessKey.isNotEmpty()
122+
}
79123
}
80124
}

0 commit comments

Comments
 (0)