From 119c7a72c6906a7f75df5bc14ea1104de8af8b4d Mon Sep 17 00:00:00 2001 From: Luke Zhang Date: Tue, 19 Aug 2025 13:59:53 -0700 Subject: [PATCH 1/3] fix(deps): Upgrade JDK from 17 to 21 The upstream OTel Java Agent upgraded its build toolchain from JDK 17 to 21 in May 2024. This PR aligns ADOT with that change. Without this upgrade, merges with recent upstream changes will result in build failures. Tests performed: Local build with JDK 21 passes: ./gradlew build Unit tests pass: ./gradlew test Smoke/contract tests pass: ./gradlew appsignals-tests:contract-tests:contractTests --- .github/workflows/codeql-analysis.yml | 4 ++-- .../docker-build-smoke-tests-fake-backend.yml | 4 ++-- .../e2e-tests-app-with-java-agent.yml | 16 +++++++-------- .github/workflows/e2e-tests-with-operator.yml | 8 ++++---- .github/workflows/main-build.yml | 16 +++++++-------- .../nightly-upstream-snapshot-build.yml | 8 ++++---- .github/workflows/owasp.yml | 4 ++-- .github/workflows/patch-release-build.yml | 4 ++-- .github/workflows/pr-build.yml | 20 +++++++++---------- .github/workflows/release-build.yml | 4 ++-- .github/workflows/release-lambda.yml | 4 ++-- .github/workflows/release-udp-exporter.yml | 4 ++-- .github/workflows/udp-exporter-e2e-test.yml | 4 ++-- .java-version | 1 + 14 files changed, 51 insertions(+), 50 deletions(-) create mode 100644 .java-version diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index cea96c8cbe..baea23a44c 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -31,9 +31,9 @@ jobs: with: languages: java - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: temurin - name: Cache local Maven repository diff --git a/.github/workflows/docker-build-smoke-tests-fake-backend.yml b/.github/workflows/docker-build-smoke-tests-fake-backend.yml index a94c5752c7..46420e2568 100644 --- a/.github/workflows/docker-build-smoke-tests-fake-backend.yml +++ b/.github/workflows/docker-build-smoke-tests-fake-backend.yml @@ -21,9 +21,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: 'temurin' # cache local patch outputs - name: Cache local Maven repository diff --git a/.github/workflows/e2e-tests-app-with-java-agent.yml b/.github/workflows/e2e-tests-app-with-java-agent.yml index f2fe9df20c..d30b210455 100644 --- a/.github/workflows/e2e-tests-app-with-java-agent.yml +++ b/.github/workflows/e2e-tests-app-with-java-agent.yml @@ -29,9 +29,9 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: temurin # cache local patch outputs @@ -81,9 +81,9 @@ jobs: steps: - uses: actions/checkout@v5 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: 'temurin' - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 @@ -112,9 +112,9 @@ jobs: steps: - uses: actions/checkout@v5 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: 'temurin' - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 @@ -143,9 +143,9 @@ jobs: steps: - uses: actions/checkout@v5 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: 'temurin' - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 diff --git a/.github/workflows/e2e-tests-with-operator.yml b/.github/workflows/e2e-tests-with-operator.yml index ab207d1a6d..60fda120e6 100644 --- a/.github/workflows/e2e-tests-with-operator.yml +++ b/.github/workflows/e2e-tests-with-operator.yml @@ -38,9 +38,9 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: temurin # cache local patch outputs @@ -131,8 +131,8 @@ jobs: fetch-depth: 0 path: aws-otel-java-instrumentation - - name: Set up JDK 11 - uses: actions/setup-java@v4 + - name: Set up JDK + uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: distribution: 'zulu' java-version: '11' diff --git a/.github/workflows/main-build.yml b/.github/workflows/main-build.yml index c5e3f2f020..7b8d4b308d 100644 --- a/.github/workflows/main-build.yml +++ b/.github/workflows/main-build.yml @@ -23,9 +23,9 @@ jobs: runs-on: aws-otel-java-instrumentation_ubuntu-latest_32-core steps: - uses: actions/checkout@v5 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: temurin # vaadin 14 tests fail with node 18 - name: Set up Node @@ -57,9 +57,9 @@ jobs: - uses: actions/checkout@v5 with: fetch-depth: 0 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: temurin # cache local patch outputs @@ -192,9 +192,9 @@ jobs: - uses: actions/checkout@v5 with: fetch-depth: 0 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 23 + java-version-file: .java-version distribution: 'temurin' - uses: gradle/wrapper-validation-action@v1 @@ -232,9 +232,9 @@ jobs: - uses: actions/checkout@v5 with: fetch-depth: 0 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: 'temurin' - name: Build Application Signals Lambda Layer working-directory: lambda-layer diff --git a/.github/workflows/nightly-upstream-snapshot-build.yml b/.github/workflows/nightly-upstream-snapshot-build.yml index cd9ccf0da6..93108f1c9b 100644 --- a/.github/workflows/nightly-upstream-snapshot-build.yml +++ b/.github/workflows/nightly-upstream-snapshot-build.yml @@ -27,9 +27,9 @@ jobs: with: fetch-depth: 0 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: 'temurin' # cache local patch outputs @@ -132,9 +132,9 @@ jobs: - uses: actions/checkout@v5 with: fetch-depth: 0 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 23 + java-version-file: .java-version distribution: 'temurin' - uses: gradle/wrapper-validation-action@v1 diff --git a/.github/workflows/owasp.yml b/.github/workflows/owasp.yml index f0297648c1..d3edd50c9c 100644 --- a/.github/workflows/owasp.yml +++ b/.github/workflows/owasp.yml @@ -31,9 +31,9 @@ jobs: fetch-depth: 0 - name: Set up Java for dependency scan - uses: actions/setup-java@v4 + uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: 'temurin' - name: Configure AWS credentials for dependency scan diff --git a/.github/workflows/patch-release-build.yml b/.github/workflows/patch-release-build.yml index 725661e5aa..4da82f9a43 100644 --- a/.github/workflows/patch-release-build.yml +++ b/.github/workflows/patch-release-build.yml @@ -61,9 +61,9 @@ jobs: with: ref: ${{ needs.prepare-release-branch.outputs.release-branch-name }} - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: 'temurin' - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml index f068d52b6c..19ecb37187 100644 --- a/.github/workflows/pr-build.yml +++ b/.github/workflows/pr-build.yml @@ -14,9 +14,9 @@ jobs: steps: - uses: actions/checkout@v5 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: temurin # vaadin 14 tests fail with node 18 - name: Set up Node @@ -56,9 +56,9 @@ jobs: steps: - uses: actions/checkout@v5 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: temurin - uses: gradle/wrapper-validation-action@v1 @@ -93,9 +93,9 @@ jobs: ./gradlew build -p exporters/aws-distro-opentelemetry-xray-udp-span-exporter - name: Set up Java version for tests - uses: actions/setup-java@v4 + uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 23 + java-version-file: .java-version distribution: temurin - name: Pull base image of Contract Tests Sample Apps @@ -109,9 +109,9 @@ jobs: arguments: contractTests -PlocalDocker=true -i - name: Set up Java version for image build - uses: actions/setup-java@v4 + uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: temurin - name: Get current version @@ -168,9 +168,9 @@ jobs: uses: actions/checkout@v5 - name: Setup Java - uses: actions/setup-java@v4 + uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: temurin - name: Build layer diff --git a/.github/workflows/release-build.yml b/.github/workflows/release-build.yml index 0221866cf4..6efd9d8567 100644 --- a/.github/workflows/release-build.yml +++ b/.github/workflows/release-build.yml @@ -25,9 +25,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: 'temurin' - uses: gradle/wrapper-validation-action@v1 diff --git a/.github/workflows/release-lambda.yml b/.github/workflows/release-lambda.yml index 1d2068e830..a570b93276 100644 --- a/.github/workflows/release-lambda.yml +++ b/.github/workflows/release-lambda.yml @@ -42,9 +42,9 @@ jobs: - name: Checkout Repo @ SHA - ${{ github.sha }} uses: actions/checkout@v5 - - uses: actions/setup-java@v4 + - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: 17 + java-version-file: .java-version distribution: 'temurin' - name: Build layers diff --git a/.github/workflows/release-udp-exporter.yml b/.github/workflows/release-udp-exporter.yml index 8d39e7308c..c72b8f7a77 100644 --- a/.github/workflows/release-udp-exporter.yml +++ b/.github/workflows/release-udp-exporter.yml @@ -29,9 +29,9 @@ jobs: uses: actions/checkout@v5 - name: Set up Java - uses: actions/setup-java@v4 + uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: '17' + java-version-file: .java-version distribution: 'temurin' cache: 'gradle' diff --git a/.github/workflows/udp-exporter-e2e-test.yml b/.github/workflows/udp-exporter-e2e-test.yml index 33ad3d756a..a3e4631db8 100644 --- a/.github/workflows/udp-exporter-e2e-test.yml +++ b/.github/workflows/udp-exporter-e2e-test.yml @@ -16,9 +16,9 @@ jobs: uses: actions/checkout@v5 - name: Set up Java - uses: actions/setup-java@v4 + uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version: '17' + java-version-file: .java-version distribution: 'temurin' cache: 'gradle' diff --git a/.java-version b/.java-version new file mode 100644 index 0000000000..aabe6ec390 --- /dev/null +++ b/.java-version @@ -0,0 +1 @@ +21 From 3b3c383540e87835b1354de6195ee0fa494970bb Mon Sep 17 00:00:00 2001 From: Luke Zhang Date: Tue, 19 Aug 2025 14:18:29 -0700 Subject: [PATCH 2/3] revert the change made for jdk 11 --- .github/workflows/e2e-tests-with-operator.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e-tests-with-operator.yml b/.github/workflows/e2e-tests-with-operator.yml index 60fda120e6..92dfbee4f9 100644 --- a/.github/workflows/e2e-tests-with-operator.yml +++ b/.github/workflows/e2e-tests-with-operator.yml @@ -131,7 +131,7 @@ jobs: fetch-depth: 0 path: aws-otel-java-instrumentation - - name: Set up JDK + - name: Set up JDK 11 uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: distribution: 'zulu' From d551bdf0e29792755ec0cba6ce393d467c3f24a0 Mon Sep 17 00:00:00 2001 From: Luke Zhang Date: Tue, 19 Aug 2025 14:30:56 -0700 Subject: [PATCH 3/3] Keep using Java 23 with contract tests. --- .github/workflows/main-build.yml | 2 +- .github/workflows/nightly-upstream-snapshot-build.yml | 2 +- .github/workflows/pr-build.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main-build.yml b/.github/workflows/main-build.yml index 7b8d4b308d..7e0f2c97cb 100644 --- a/.github/workflows/main-build.yml +++ b/.github/workflows/main-build.yml @@ -194,7 +194,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version-file: .java-version + java-version: 23 distribution: 'temurin' - uses: gradle/wrapper-validation-action@v1 diff --git a/.github/workflows/nightly-upstream-snapshot-build.yml b/.github/workflows/nightly-upstream-snapshot-build.yml index 93108f1c9b..62f35db469 100644 --- a/.github/workflows/nightly-upstream-snapshot-build.yml +++ b/.github/workflows/nightly-upstream-snapshot-build.yml @@ -134,7 +134,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version-file: .java-version + java-version: 23 distribution: 'temurin' - uses: gradle/wrapper-validation-action@v1 diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml index 19ecb37187..795813c314 100644 --- a/.github/workflows/pr-build.yml +++ b/.github/workflows/pr-build.yml @@ -95,7 +95,7 @@ jobs: - name: Set up Java version for tests uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: - java-version-file: .java-version + java-version: 23 distribution: temurin - name: Pull base image of Contract Tests Sample Apps