From 65942fb7a9a572933107420ccc81ff85f52a6cf9 Mon Sep 17 00:00:00 2001 From: Jay DeLuca Date: Wed, 6 Aug 2025 17:04:43 -0400 Subject: [PATCH 1/8] add multi arch docker builds --- .../pr-smoke-test-fake-backend-images.yml | 7 ++- ...publish-smoke-test-fake-backend-images.yml | 9 ++-- smoke-tests/images/fake-backend/README.md | 30 +++++++++++++ .../images/fake-backend/build.gradle.kts | 43 +++++++++++++++---- .../src/docker/backend/Dockerfile | 8 ++++ 5 files changed, 84 insertions(+), 13 deletions(-) create mode 100644 smoke-tests/images/fake-backend/README.md create mode 100644 smoke-tests/images/fake-backend/src/docker/backend/Dockerfile diff --git a/.github/workflows/pr-smoke-test-fake-backend-images.yml b/.github/workflows/pr-smoke-test-fake-backend-images.yml index 2c53cb9be305..451410549f9a 100644 --- a/.github/workflows/pr-smoke-test-fake-backend-images.yml +++ b/.github/workflows/pr-smoke-test-fake-backend-images.yml @@ -24,13 +24,16 @@ jobs: distribution: temurin java-version-file: .java-version + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Setup Gradle uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1 with: cache-read-only: true - - name: Build Docker image - run: ./gradlew :smoke-tests:images:fake-backend:jibDockerBuild -Djib.httpTimeout=120000 -Djib.console=plain + - name: Build multi-arch Docker image (without push) + run: ./gradlew :smoke-tests:images:fake-backend:buildMultiArchImageLocal buildWindows: runs-on: windows-latest diff --git a/.github/workflows/publish-smoke-test-fake-backend-images.yml b/.github/workflows/publish-smoke-test-fake-backend-images.yml index abbaec11283b..5429e856c538 100644 --- a/.github/workflows/publish-smoke-test-fake-backend-images.yml +++ b/.github/workflows/publish-smoke-test-fake-backend-images.yml @@ -30,6 +30,9 @@ jobs: distribution: temurin java-version-file: .java-version + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to GitHub package registry uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0 with: @@ -43,8 +46,8 @@ jobs: - name: Setup Gradle uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1 - - name: Build Docker image - run: ./gradlew :smoke-tests:images:fake-backend:jib -Djib.httpTimeout=120000 -Djib.console=plain -PextraTag=${{ env.TAG }} + - name: Build and push multi-arch Docker image + run: ./gradlew :smoke-tests:images:fake-backend:buildMultiArchImage -PextraTag=${{ env.TAG }} publishWindows: permissions: @@ -80,7 +83,7 @@ jobs: uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1 - name: Build Docker image - run: ./gradlew :smoke-tests:images:fake-backend:dockerPush -PextraTag=${{ env.TAG }} + run: ./gradlew :smoke-tests:images:fake-backend:windowsBackendImageBuild -PextraTag=${{ env.TAG }} workflow-notification: permissions: diff --git a/smoke-tests/images/fake-backend/README.md b/smoke-tests/images/fake-backend/README.md new file mode 100644 index 000000000000..050a891a7bb6 --- /dev/null +++ b/smoke-tests/images/fake-backend/README.md @@ -0,0 +1,30 @@ +# Smoke Test Fake Backend + +This module provides a fake backend service used in smoke tests. + +## Docker Images + +The fake backend is available as Docker images for both Linux (multi-arch) and Windows: + +- Linux (AMD64 + ARM64): `ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-fake-backend:latest` +- Windows: `ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-fake-backend-windows:latest` + +### Building Images + +To build and push the images: + +Ensure Docker BuildX is installed and configured for multi-arch builds: + +```bash +docker buildx create --name multiarch --driver docker-container --use +``` + +Run the build: + +```bash +./gradlew :smoke-tests:images:fake-backend:dockerPush +``` + +This will build and push: +- A multi-architecture Linux image supporting both AMD64 and ARM64 +- A Windows-specific image diff --git a/smoke-tests/images/fake-backend/build.gradle.kts b/smoke-tests/images/fake-backend/build.gradle.kts index 647274ec0e5c..b6409d906324 100644 --- a/smoke-tests/images/fake-backend/build.gradle.kts +++ b/smoke-tests/images/fake-backend/build.gradle.kts @@ -7,7 +7,6 @@ plugins { id("otel.java-conventions") id("com.bmuschko.docker-remote-api") id("com.gradleup.shadow") - id("com.google.cloud.tools.jib") } dependencies { @@ -21,11 +20,6 @@ val extraTag = findProperty("extraTag") val repo = System.getenv("GITHUB_REPOSITORY") ?: "open-telemetry/opentelemetry-java-instrumentation" -jib { - from.image = "gcr.io/distroless/java-debian10:11" - to.image = "ghcr.io/$repo/smoke-test-fake-backend:$extraTag" -} - // windows containers are built manually since jib does not support windows containers yet val backendDockerBuildDir = layout.buildDirectory.dir("docker-backend") @@ -46,6 +40,15 @@ tasks { } } + val backendImagePrepare by registering(Copy::class) { + dependsOn(shadowJar) + into(backendDockerBuildDir) + from("src/docker/backend") + from(shadowJar.get().outputs) { + rename { "fake-backend.jar" } + } + } + val windowsBackendImagePrepare by registering(Copy::class) { dependsOn(shadowJar) into(backendDockerBuildDir) @@ -55,7 +58,31 @@ tasks { } } - val repo = System.getenv("GITHUB_REPOSITORY") ?: "open-telemetry/opentelemetry-java-instrumentation" + val buildMultiArchImage by registering(Exec::class) { + dependsOn(backendImagePrepare) + workingDir(backendDockerBuildDir) + commandLine( + "docker", "buildx", "build", + "--platform", "linux/amd64,linux/arm64", + "--tag", "ghcr.io/$repo/smoke-test-fake-backend:$extraTag", + "--push", + "-f", "Dockerfile", + "." + ) + } + + val buildMultiArchImageLocal by registering(Exec::class) { + dependsOn(backendImagePrepare) + workingDir(backendDockerBuildDir) + commandLine( + "docker", "buildx", "build", + "--platform", "linux/amd64,linux/arm64", + "--tag", "ghcr.io/$repo/smoke-test-fake-backend:$extraTag", + "--load", + "-f", "Dockerfile", + "." + ) + } val windowsBackendImageBuild by registering(DockerBuildImage::class) { dependsOn(windowsBackendImagePrepare) @@ -68,7 +95,7 @@ tasks { val dockerPush by registering(DockerPushImage::class) { group = "publishing" description = "Push all Docker images for the test backend" - dependsOn(windowsBackendImageBuild) + dependsOn(buildMultiArchImage, windowsBackendImageBuild) images.add("ghcr.io/$repo/smoke-test-fake-backend-windows:$extraTag") } } diff --git a/smoke-tests/images/fake-backend/src/docker/backend/Dockerfile b/smoke-tests/images/fake-backend/src/docker/backend/Dockerfile new file mode 100644 index 000000000000..a474f3ab26bd --- /dev/null +++ b/smoke-tests/images/fake-backend/src/docker/backend/Dockerfile @@ -0,0 +1,8 @@ +FROM gcr.io/distroless/java-debian10:11 + +COPY fake-backend.jar /app.jar + +EXPOSE 8080 +EXPOSE 19000 + +ENTRYPOINT ["java", "-jar", "/app.jar"] \ No newline at end of file From 019eba583e11becf9579e3651a67383bbd8396b6 Mon Sep 17 00:00:00 2001 From: Jay DeLuca Date: Wed, 6 Aug 2025 17:11:07 -0400 Subject: [PATCH 2/8] add multi arch docker builds --- .github/workflows/pr-smoke-test-fake-backend-images.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr-smoke-test-fake-backend-images.yml b/.github/workflows/pr-smoke-test-fake-backend-images.yml index 451410549f9a..f4382089424d 100644 --- a/.github/workflows/pr-smoke-test-fake-backend-images.yml +++ b/.github/workflows/pr-smoke-test-fake-backend-images.yml @@ -5,6 +5,7 @@ on: paths: - "smoke-tests/images/fake-backend/**" - ".github/workflows/pr-smoke-test-fake-backend-images.yml" + workflow_dispatch: permissions: contents: read From 747564c96d08a3c0c6a17caa143d1c6423328938 Mon Sep 17 00:00:00 2001 From: Jay DeLuca Date: Wed, 6 Aug 2025 17:12:18 -0400 Subject: [PATCH 3/8] add multi arch docker builds --- .github/workflows/pr-smoke-test-fake-backend-images.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/pr-smoke-test-fake-backend-images.yml b/.github/workflows/pr-smoke-test-fake-backend-images.yml index f4382089424d..8d4dba17d896 100644 --- a/.github/workflows/pr-smoke-test-fake-backend-images.yml +++ b/.github/workflows/pr-smoke-test-fake-backend-images.yml @@ -1,6 +1,10 @@ name: PR build fake backend images for smoke tests on: + push: + paths: + - "smoke-tests/images/fake-backend/**" + - ".github/workflows/pr-smoke-test-fake-backend-images.yml" pull_request: paths: - "smoke-tests/images/fake-backend/**" From 71be6219ae943cf91ae39b2fe4da4af1376df99c Mon Sep 17 00:00:00 2001 From: Jay DeLuca Date: Wed, 6 Aug 2025 17:18:43 -0400 Subject: [PATCH 4/8] add multi arch docker builds --- .github/workflows/pr-smoke-test-fake-backend-images.yml | 2 +- .github/workflows/publish-smoke-test-fake-backend-images.yml | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr-smoke-test-fake-backend-images.yml b/.github/workflows/pr-smoke-test-fake-backend-images.yml index 8d4dba17d896..e9c19b48a985 100644 --- a/.github/workflows/pr-smoke-test-fake-backend-images.yml +++ b/.github/workflows/pr-smoke-test-fake-backend-images.yml @@ -30,7 +30,7 @@ jobs: java-version-file: .java-version - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1 - name: Setup Gradle uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1 diff --git a/.github/workflows/publish-smoke-test-fake-backend-images.yml b/.github/workflows/publish-smoke-test-fake-backend-images.yml index 5429e856c538..a77a2b897b70 100644 --- a/.github/workflows/publish-smoke-test-fake-backend-images.yml +++ b/.github/workflows/publish-smoke-test-fake-backend-images.yml @@ -5,8 +5,6 @@ on: paths: - "smoke-tests/images/fake-backend/**" - ".github/workflows/publish-smoke-test-fake-backend-images.yml" - branches: - - main workflow_dispatch: permissions: @@ -31,7 +29,7 @@ jobs: java-version-file: .java-version - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1 - name: Login to GitHub package registry uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0 From 636984ae3d4d2bb95ed5ff96ad723fd61053a3b6 Mon Sep 17 00:00:00 2001 From: Jay DeLuca Date: Wed, 6 Aug 2025 17:20:00 -0400 Subject: [PATCH 5/8] add multi arch docker builds --- .github/workflows/pr-smoke-test-fake-backend-images.yml | 4 ---- .github/workflows/publish-smoke-test-fake-backend-images.yml | 2 ++ smoke-tests/images/fake-backend/build.gradle.kts | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pr-smoke-test-fake-backend-images.yml b/.github/workflows/pr-smoke-test-fake-backend-images.yml index e9c19b48a985..335d0870aca5 100644 --- a/.github/workflows/pr-smoke-test-fake-backend-images.yml +++ b/.github/workflows/pr-smoke-test-fake-backend-images.yml @@ -1,10 +1,6 @@ name: PR build fake backend images for smoke tests on: - push: - paths: - - "smoke-tests/images/fake-backend/**" - - ".github/workflows/pr-smoke-test-fake-backend-images.yml" pull_request: paths: - "smoke-tests/images/fake-backend/**" diff --git a/.github/workflows/publish-smoke-test-fake-backend-images.yml b/.github/workflows/publish-smoke-test-fake-backend-images.yml index a77a2b897b70..6a06bd21f4c1 100644 --- a/.github/workflows/publish-smoke-test-fake-backend-images.yml +++ b/.github/workflows/publish-smoke-test-fake-backend-images.yml @@ -5,6 +5,8 @@ on: paths: - "smoke-tests/images/fake-backend/**" - ".github/workflows/publish-smoke-test-fake-backend-images.yml" + branches: + - main workflow_dispatch: permissions: diff --git a/smoke-tests/images/fake-backend/build.gradle.kts b/smoke-tests/images/fake-backend/build.gradle.kts index b6409d906324..d06ff52e27e5 100644 --- a/smoke-tests/images/fake-backend/build.gradle.kts +++ b/smoke-tests/images/fake-backend/build.gradle.kts @@ -76,7 +76,7 @@ tasks { workingDir(backendDockerBuildDir) commandLine( "docker", "buildx", "build", - "--platform", "linux/amd64,linux/arm64", + "--platform", "linux/amd64", "--tag", "ghcr.io/$repo/smoke-test-fake-backend:$extraTag", "--load", "-f", "Dockerfile", From 6b414b41d5b52bc4c7b624020a6387908c3d6e65 Mon Sep 17 00:00:00 2001 From: Jay DeLuca Date: Wed, 6 Aug 2025 17:59:54 -0400 Subject: [PATCH 6/8] back to jib --- .../pr-smoke-test-fake-backend-images.yml | 9 +-- ...publish-smoke-test-fake-backend-images.yml | 7 +-- smoke-tests/images/fake-backend/README.md | 30 ---------- .../images/fake-backend/build.gradle.kts | 55 +++++++------------ .../src/docker/backend/Dockerfile | 8 --- 5 files changed, 25 insertions(+), 84 deletions(-) delete mode 100644 smoke-tests/images/fake-backend/README.md delete mode 100644 smoke-tests/images/fake-backend/src/docker/backend/Dockerfile diff --git a/.github/workflows/pr-smoke-test-fake-backend-images.yml b/.github/workflows/pr-smoke-test-fake-backend-images.yml index 335d0870aca5..b3f0ccd3f8c1 100644 --- a/.github/workflows/pr-smoke-test-fake-backend-images.yml +++ b/.github/workflows/pr-smoke-test-fake-backend-images.yml @@ -1,6 +1,10 @@ name: PR build fake backend images for smoke tests on: + push: + paths: + - "smoke-tests/images/fake-backend/**" + - ".github/workflows/pr-smoke-test-fake-backend-images.yml" pull_request: paths: - "smoke-tests/images/fake-backend/**" @@ -25,16 +29,13 @@ jobs: distribution: temurin java-version-file: .java-version - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1 - - name: Setup Gradle uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1 with: cache-read-only: true - name: Build multi-arch Docker image (without push) - run: ./gradlew :smoke-tests:images:fake-backend:buildMultiArchImageLocal + run: ./gradlew :smoke-tests:images:fake-backend:jibDockerBuild -Djib.httpTimeout=120000 -Djib.console=plain buildWindows: runs-on: windows-latest diff --git a/.github/workflows/publish-smoke-test-fake-backend-images.yml b/.github/workflows/publish-smoke-test-fake-backend-images.yml index 6a06bd21f4c1..4ab047551d51 100644 --- a/.github/workflows/publish-smoke-test-fake-backend-images.yml +++ b/.github/workflows/publish-smoke-test-fake-backend-images.yml @@ -5,8 +5,6 @@ on: paths: - "smoke-tests/images/fake-backend/**" - ".github/workflows/publish-smoke-test-fake-backend-images.yml" - branches: - - main workflow_dispatch: permissions: @@ -30,9 +28,6 @@ jobs: distribution: temurin java-version-file: .java-version - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1 - - name: Login to GitHub package registry uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0 with: @@ -47,7 +42,7 @@ jobs: uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1 - name: Build and push multi-arch Docker image - run: ./gradlew :smoke-tests:images:fake-backend:buildMultiArchImage -PextraTag=${{ env.TAG }} + run: ./gradlew :smoke-tests:images:fake-backend:jib -Djib.httpTimeout=120000 -Djib.console=plain -PextraTag=${{ env.TAG }} publishWindows: permissions: diff --git a/smoke-tests/images/fake-backend/README.md b/smoke-tests/images/fake-backend/README.md deleted file mode 100644 index 050a891a7bb6..000000000000 --- a/smoke-tests/images/fake-backend/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# Smoke Test Fake Backend - -This module provides a fake backend service used in smoke tests. - -## Docker Images - -The fake backend is available as Docker images for both Linux (multi-arch) and Windows: - -- Linux (AMD64 + ARM64): `ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-fake-backend:latest` -- Windows: `ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-fake-backend-windows:latest` - -### Building Images - -To build and push the images: - -Ensure Docker BuildX is installed and configured for multi-arch builds: - -```bash -docker buildx create --name multiarch --driver docker-container --use -``` - -Run the build: - -```bash -./gradlew :smoke-tests:images:fake-backend:dockerPush -``` - -This will build and push: -- A multi-architecture Linux image supporting both AMD64 and ARM64 -- A Windows-specific image diff --git a/smoke-tests/images/fake-backend/build.gradle.kts b/smoke-tests/images/fake-backend/build.gradle.kts index d06ff52e27e5..c7c4c9169038 100644 --- a/smoke-tests/images/fake-backend/build.gradle.kts +++ b/smoke-tests/images/fake-backend/build.gradle.kts @@ -7,6 +7,7 @@ plugins { id("otel.java-conventions") id("com.bmuschko.docker-remote-api") id("com.gradleup.shadow") + id("com.google.cloud.tools.jib") } dependencies { @@ -20,6 +21,23 @@ val extraTag = findProperty("extraTag") val repo = System.getenv("GITHUB_REPOSITORY") ?: "open-telemetry/opentelemetry-java-instrumentation" +jib { + from { + image = "eclipse-temurin:21-jre" + platforms { + platform { + architecture = "amd64" + os = "linux" + } + platform { + architecture = "arm64" + os = "linux" + } + } + } + to.image = "ghcr.io/$repo/smoke-test-fake-backend:$extraTag" +} + // windows containers are built manually since jib does not support windows containers yet val backendDockerBuildDir = layout.buildDirectory.dir("docker-backend") @@ -40,15 +58,6 @@ tasks { } } - val backendImagePrepare by registering(Copy::class) { - dependsOn(shadowJar) - into(backendDockerBuildDir) - from("src/docker/backend") - from(shadowJar.get().outputs) { - rename { "fake-backend.jar" } - } - } - val windowsBackendImagePrepare by registering(Copy::class) { dependsOn(shadowJar) into(backendDockerBuildDir) @@ -58,32 +67,6 @@ tasks { } } - val buildMultiArchImage by registering(Exec::class) { - dependsOn(backendImagePrepare) - workingDir(backendDockerBuildDir) - commandLine( - "docker", "buildx", "build", - "--platform", "linux/amd64,linux/arm64", - "--tag", "ghcr.io/$repo/smoke-test-fake-backend:$extraTag", - "--push", - "-f", "Dockerfile", - "." - ) - } - - val buildMultiArchImageLocal by registering(Exec::class) { - dependsOn(backendImagePrepare) - workingDir(backendDockerBuildDir) - commandLine( - "docker", "buildx", "build", - "--platform", "linux/amd64", - "--tag", "ghcr.io/$repo/smoke-test-fake-backend:$extraTag", - "--load", - "-f", "Dockerfile", - "." - ) - } - val windowsBackendImageBuild by registering(DockerBuildImage::class) { dependsOn(windowsBackendImagePrepare) inputDir.set(backendDockerBuildDir) @@ -95,7 +78,7 @@ tasks { val dockerPush by registering(DockerPushImage::class) { group = "publishing" description = "Push all Docker images for the test backend" - dependsOn(buildMultiArchImage, windowsBackendImageBuild) + dependsOn(jib, windowsBackendImageBuild) images.add("ghcr.io/$repo/smoke-test-fake-backend-windows:$extraTag") } } diff --git a/smoke-tests/images/fake-backend/src/docker/backend/Dockerfile b/smoke-tests/images/fake-backend/src/docker/backend/Dockerfile deleted file mode 100644 index a474f3ab26bd..000000000000 --- a/smoke-tests/images/fake-backend/src/docker/backend/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM gcr.io/distroless/java-debian10:11 - -COPY fake-backend.jar /app.jar - -EXPOSE 8080 -EXPOSE 19000 - -ENTRYPOINT ["java", "-jar", "/app.jar"] \ No newline at end of file From fa94fbcbeb8e14fcbc7c0a47c2624ed4efa9dbad Mon Sep 17 00:00:00 2001 From: Jay DeLuca Date: Wed, 6 Aug 2025 20:01:34 -0400 Subject: [PATCH 7/8] cleanup --- .github/workflows/pr-smoke-test-fake-backend-images.yml | 7 +------ .../workflows/publish-smoke-test-fake-backend-images.yml | 6 ++++-- smoke-tests/images/fake-backend/build.gradle.kts | 2 +- .../fake-backend/src/docker/backend/windows.dockerfile | 2 +- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/.github/workflows/pr-smoke-test-fake-backend-images.yml b/.github/workflows/pr-smoke-test-fake-backend-images.yml index b3f0ccd3f8c1..2c53cb9be305 100644 --- a/.github/workflows/pr-smoke-test-fake-backend-images.yml +++ b/.github/workflows/pr-smoke-test-fake-backend-images.yml @@ -1,15 +1,10 @@ name: PR build fake backend images for smoke tests on: - push: - paths: - - "smoke-tests/images/fake-backend/**" - - ".github/workflows/pr-smoke-test-fake-backend-images.yml" pull_request: paths: - "smoke-tests/images/fake-backend/**" - ".github/workflows/pr-smoke-test-fake-backend-images.yml" - workflow_dispatch: permissions: contents: read @@ -34,7 +29,7 @@ jobs: with: cache-read-only: true - - name: Build multi-arch Docker image (without push) + - name: Build Docker image run: ./gradlew :smoke-tests:images:fake-backend:jibDockerBuild -Djib.httpTimeout=120000 -Djib.console=plain buildWindows: diff --git a/.github/workflows/publish-smoke-test-fake-backend-images.yml b/.github/workflows/publish-smoke-test-fake-backend-images.yml index 4ab047551d51..abbaec11283b 100644 --- a/.github/workflows/publish-smoke-test-fake-backend-images.yml +++ b/.github/workflows/publish-smoke-test-fake-backend-images.yml @@ -5,6 +5,8 @@ on: paths: - "smoke-tests/images/fake-backend/**" - ".github/workflows/publish-smoke-test-fake-backend-images.yml" + branches: + - main workflow_dispatch: permissions: @@ -41,7 +43,7 @@ jobs: - name: Setup Gradle uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1 - - name: Build and push multi-arch Docker image + - name: Build Docker image run: ./gradlew :smoke-tests:images:fake-backend:jib -Djib.httpTimeout=120000 -Djib.console=plain -PextraTag=${{ env.TAG }} publishWindows: @@ -78,7 +80,7 @@ jobs: uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1 - name: Build Docker image - run: ./gradlew :smoke-tests:images:fake-backend:windowsBackendImageBuild -PextraTag=${{ env.TAG }} + run: ./gradlew :smoke-tests:images:fake-backend:dockerPush -PextraTag=${{ env.TAG }} workflow-notification: permissions: diff --git a/smoke-tests/images/fake-backend/build.gradle.kts b/smoke-tests/images/fake-backend/build.gradle.kts index c7c4c9169038..128fdc22d2ce 100644 --- a/smoke-tests/images/fake-backend/build.gradle.kts +++ b/smoke-tests/images/fake-backend/build.gradle.kts @@ -78,7 +78,7 @@ tasks { val dockerPush by registering(DockerPushImage::class) { group = "publishing" description = "Push all Docker images for the test backend" - dependsOn(jib, windowsBackendImageBuild) + dependsOn(windowsBackendImageBuild) images.add("ghcr.io/$repo/smoke-test-fake-backend-windows:$extraTag") } } diff --git a/smoke-tests/images/fake-backend/src/docker/backend/windows.dockerfile b/smoke-tests/images/fake-backend/src/docker/backend/windows.dockerfile index e69f43d826ab..2649a6afa34c 100644 --- a/smoke-tests/images/fake-backend/src/docker/backend/windows.dockerfile +++ b/smoke-tests/images/fake-backend/src/docker/backend/windows.dockerfile @@ -1,3 +1,3 @@ -FROM eclipse-temurin:11.0.27_6-jdk-windowsservercore-ltsc2022@sha256:5469ceab8d1f5cc620818109fb2e7e2b56bbe010257240348011e16557f9e2b7 +FROM eclipse-temurin:21-jdk-windowsservercore-ltsc2022 COPY fake-backend.jar /fake-backend.jar CMD ["java", "-jar", "/fake-backend.jar"] From 245b116dd5da03f94482b17e49ca74ce95ca0a3c Mon Sep 17 00:00:00 2001 From: Jay DeLuca Date: Thu, 7 Aug 2025 12:50:57 -0400 Subject: [PATCH 8/8] add sha to windows image --- .../images/fake-backend/src/docker/backend/windows.dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smoke-tests/images/fake-backend/src/docker/backend/windows.dockerfile b/smoke-tests/images/fake-backend/src/docker/backend/windows.dockerfile index 2649a6afa34c..f00a9f249d38 100644 --- a/smoke-tests/images/fake-backend/src/docker/backend/windows.dockerfile +++ b/smoke-tests/images/fake-backend/src/docker/backend/windows.dockerfile @@ -1,3 +1,3 @@ -FROM eclipse-temurin:21-jdk-windowsservercore-ltsc2022 +FROM eclipse-temurin:21-jdk-windowsservercore-ltsc2022@sha256:87e4af970a21c3a1eb37b39c42621308f71e16cf95bbfbc8e66ad77d6582b1a3 COPY fake-backend.jar /fake-backend.jar CMD ["java", "-jar", "/fake-backend.jar"]