Skip to content

Commit bc72325

Browse files
authored
Merge branch 'main' into main
2 parents 9df3edf + 4ef63f5 commit bc72325

File tree

9 files changed

+97
-14
lines changed

9 files changed

+97
-14
lines changed

.github/repository-settings.md

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

1111
- `GPG_PASSWORD` - stored in OpenTelemetry-Java 1Password
1212
- `GPG_PRIVATE_KEY` - stored in OpenTelemetry-Java 1Password
13+
- `DEVELOCITY_ACCESS_KEY` - owned by [@trask](https://github.com/trask)
14+
- Generated at https://develocity.opentelemetry.io > My settings > Access keys
15+
- Format of env var is `develocity.opentelemetry.io=<access key>`,
16+
see [docs](https://docs.gradle.com/enterprise/gradle-plugin/#via_environment_variable)
1317
- `GRADLE_PUBLISH_KEY`
1418
- `GRADLE_PUBLISH_SECRET`
1519
- `NVD_API_KEY` - stored in OpenTelemetry-Java 1Password

.github/workflows/build-common.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ on:
1616
type: boolean
1717
required: false
1818
secrets:
19+
DEVELOCITY_ACCESS_KEY:
20+
required: false
1921
FLAKY_TEST_REPORTER_ACCESS_KEY:
2022
required: false
2123

@@ -43,6 +45,8 @@ jobs:
4345
cache-read-only: ${{ inputs.cache-read-only }}
4446

4547
- name: Spotless
48+
env:
49+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
4650
run: ./gradlew spotlessCheck ${{ inputs.no-build-cache && '--no-build-cache' || '' }}
4751

4852
license-check:
@@ -65,6 +69,8 @@ jobs:
6569
cache-read-only: ${{ inputs.cache-read-only }}
6670

6771
- name: Generate license report
72+
env:
73+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
6874
# with the build cache enabled occasionally produces outdated results
6975
run: ./gradlew generateLicenseReport --no-build-cache
7076

@@ -192,6 +198,8 @@ jobs:
192198
cache-read-only: ${{ inputs.cache-read-only }}
193199

194200
- name: Build
201+
env:
202+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
195203
run: ./gradlew check javadoc sourcesJar spdxSbom -x spotlessCheck -PskipTests=true ${{ inputs.no-build-cache && '--no-build-cache' || '' }}
196204

197205
- name: Check for jApiCmp diffs
@@ -296,6 +304,8 @@ jobs:
296304
cache-read-only: ${{ inputs.cache-read-only || matrix.test-java-version != 11 || matrix.vm != 'hotspot' }}
297305

298306
- name: List tests
307+
env:
308+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
299309
# "check" is needed to activate all tests for listing purposes
300310
# listTestsInPartition writes test tasks that apply to the given partition to a file named
301311
# "test-tasks.txt" and then disables all tasks (including tests) after it runs
@@ -310,6 +320,8 @@ jobs:
310320
echo "test-tasks=$(cat test-tasks.txt | xargs echo | sed 's/\n/ /g')" >> $GITHUB_ENV
311321
312322
- name: Test
323+
env:
324+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
313325
# spotless is checked separately since it's a common source of failure
314326
run: >
315327
./gradlew
@@ -432,11 +444,15 @@ jobs:
432444
cache-read-only: ${{ inputs.cache-read-only || matrix.smoke-test-suite != 'tomcat' }}
433445

434446
- name: Build
447+
env:
448+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
435449
# running suite "none" compiles everything needed by smoke tests without executing any tests
436450
# --no-daemon is used to free up the memory from the build step before running the test step below
437451
run: ./gradlew :smoke-tests:test -PsmokeTestSuite=none --no-daemon ${{ inputs.no-build-cache && ' --no-build-cache' || '' }}
438452

439453
- name: Test
454+
env:
455+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
440456
run: ./gradlew :smoke-tests:test -PsmokeTestSuite=${{ matrix.smoke-test-suite }} ${{ inputs.no-build-cache && ' --no-build-cache' || '' }}
441457

442458
- name: Build scan

.github/workflows/build-daily-no-build-cache.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,15 @@ jobs:
1515
with:
1616
no-build-cache: true
1717
secrets:
18+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
1819
FLAKY_TEST_REPORTER_ACCESS_KEY: ${{ secrets.FLAKY_TEST_REPORTER_ACCESS_KEY }}
1920

2021
test-latest-deps:
2122
uses: ./.github/workflows/reusable-test-latest-deps.yml
2223
with:
2324
no-build-cache: true
2425
secrets:
26+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
2527
FLAKY_TEST_REPORTER_ACCESS_KEY: ${{ secrets.FLAKY_TEST_REPORTER_ACCESS_KEY }}
2628

2729
# muzzle is not included here because it doesn't use gradle cache anyway and so is already covered

.github/workflows/build-daily.yml

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

1819
test-latest-deps:
1920
uses: ./.github/workflows/reusable-test-latest-deps.yml
2021
secrets:
22+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
2123
FLAKY_TEST_REPORTER_ACCESS_KEY: ${{ secrets.FLAKY_TEST_REPORTER_ACCESS_KEY }}
2224

2325
muzzle:

.github/workflows/build.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ jobs:
1414
common:
1515
uses: ./.github/workflows/build-common.yml
1616
secrets:
17+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
1718
FLAKY_TEST_REPORTER_ACCESS_KEY: ${{ secrets.FLAKY_TEST_REPORTER_ACCESS_KEY }}
1819

1920
test-latest-deps:
@@ -23,6 +24,7 @@ jobs:
2324
if: "!startsWith(github.ref_name, 'release/')"
2425
uses: ./.github/workflows/reusable-test-latest-deps.yml
2526
secrets:
27+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
2628
FLAKY_TEST_REPORTER_ACCESS_KEY: ${{ secrets.FLAKY_TEST_REPORTER_ACCESS_KEY }}
2729

2830
muzzle:
@@ -80,6 +82,7 @@ jobs:
8082

8183
- name: Build and publish artifact snapshots
8284
env:
85+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
8386
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
8487
SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
8588
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
@@ -88,6 +91,7 @@ jobs:
8891

8992
- name: Build and publish gradle plugin snapshots
9093
env:
94+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
9195
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
9296
SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
9397
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}

.github/workflows/documentation-synchronization-audit.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
name: Documentation Synchronization Audit (opentelemetry.io)
22

33
on:
4-
push:
5-
tags:
6-
- 'v*' # run on release tags
4+
workflow_call:
75
workflow_dispatch:
86

97
permissions:

.github/workflows/release.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,11 @@ jobs:
200200
echo "version=$VERSION" >> $GITHUB_OUTPUT
201201
echo "prior-version=$PRIOR_VERSION" >> $GITHUB_OUTPUT
202202
203+
documentation-audit:
204+
needs:
205+
- release
206+
uses: ./.github/workflows/documentation-synchronization-audit.yml
207+
203208
post-release-updates:
204209
permissions:
205210
contents: write # for git push to PR branch

.github/workflows/reusable-test-latest-deps.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ on:
1010
type: boolean
1111
required: false
1212
secrets:
13+
DEVELOCITY_ACCESS_KEY:
14+
required: false
1315
FLAKY_TEST_REPORTER_ACCESS_KEY:
1416
required: false
1517

@@ -60,6 +62,8 @@ jobs:
6062
cache-read-only: ${{ inputs.cache-read-only }}
6163

6264
- name: List tests
65+
env:
66+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
6367
run: >
6468
./gradlew
6569
check -x spotlessCheck
@@ -72,6 +76,8 @@ jobs:
7276
echo "test-tasks=$(cat test-tasks.txt | xargs echo | sed 's/\n/ /g')" >> $GITHUB_ENV
7377
7478
- name: Test
79+
env:
80+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
7581
run: >
7682
./gradlew
7783
${{ env.test-tasks }}

settings.gradle.kts

Lines changed: 57 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ plugins {
2222
// ./gradlew :smoke-tests:images:servlet:buildLinuxTestImages pushMatrix -PsmokeTestServer=jetty
2323
// ./gradlew :smoke-tests:images:servlet:buildWindowsTestImages pushMatrix -PsmokeTestServer=jetty
2424
id("com.bmuschko.docker-remote-api") version "9.4.0" apply false
25-
id("com.gradle.develocity") version "4.2.2"
25+
id("com.gradle.develocity") version "4.2"
2626
}
2727

2828
dependencyResolutionManagement {
@@ -47,21 +47,67 @@ dependencyResolutionManagement {
4747
}
4848
}
4949

50-
develocity {
51-
buildScan {
52-
publishing.onlyIf { System.getenv("CI") != null }
53-
termsOfUseUrl.set("https://gradle.com/help/legal-terms-of-use")
54-
termsOfUseAgree.set("yes")
50+
val develocityServer = "https://develocity.opentelemetry.io"
51+
val isCI = System.getenv("CI") != null
52+
val develocityAccessKey = System.getenv("DEVELOCITY_ACCESS_KEY") ?: ""
5553

56-
if (!gradle.startParameter.taskNames.contains("listTestsInPartition") &&
57-
!gradle.startParameter.taskNames.contains(":test-report:reportFlakyTests")) {
58-
buildScanPublished {
59-
File("build-scan.txt").printWriter().use { writer ->
60-
writer.println(buildScanUri)
54+
// if develocity access key is not given and we are in CI, then we publish to scans.gradle.com
55+
val useScansGradleCom = isCI && develocityAccessKey.isEmpty()
56+
57+
if (useScansGradleCom) {
58+
develocity {
59+
buildScan {
60+
termsOfUseUrl = "https://gradle.com/help/legal-terms-of-use"
61+
termsOfUseAgree = "yes"
62+
uploadInBackground = !isCI
63+
64+
capture {
65+
fileFingerprints = true
66+
}
67+
68+
if (!gradle.startParameter.taskNames.contains("listTestsInPartition") &&
69+
!gradle.startParameter.taskNames.contains(":test-report:reportFlakyTests")) {
70+
buildScanPublished {
71+
File("build-scan.txt").printWriter().use { writer ->
72+
writer.println(buildScanUri)
73+
}
74+
}
75+
}
76+
}
77+
}
78+
} else {
79+
develocity {
80+
server = develocityServer
81+
buildScan {
82+
uploadInBackground = !isCI
83+
publishing.onlyIf { it.isAuthenticated }
84+
85+
capture {
86+
fileFingerprints = true
87+
}
88+
89+
gradle.startParameter.projectProperties["testJavaVersion"]?.let { tag(it) }
90+
gradle.startParameter.projectProperties["testJavaVM"]?.let { tag(it) }
91+
gradle.startParameter.projectProperties["smokeTestSuite"]?.let {
92+
value("Smoke test suite", it)
93+
}
94+
95+
if (!gradle.startParameter.taskNames.contains("listTestsInPartition") &&
96+
!gradle.startParameter.taskNames.contains(":test-report:reportFlakyTests")) {
97+
buildScanPublished {
98+
File("build-scan.txt").printWriter().use { writer ->
99+
writer.println(buildScanUri)
100+
}
61101
}
62102
}
63103
}
64104
}
105+
106+
buildCache {
107+
remote(develocity.buildCache) {
108+
isPush = isCI && develocityAccessKey.isNotEmpty()
109+
}
110+
}
65111
}
66112

67113
rootProject.name = "opentelemetry-java-instrumentation"

0 commit comments

Comments
 (0)