From 8d14cbfc9d5d486e0d5c68568059b323e17c5d91 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Fri, 15 Nov 2024 23:57:33 -0600 Subject: [PATCH 1/2] chore(java): Full Java 17 support only --- .github/workflows/build.yml | 28 +--------------------------- .github/workflows/pr.yml | 23 +---------------------- .github/workflows/release.yml | 30 ++---------------------------- Dockerfile.java11.slim | 9 --------- Dockerfile.java11.ubuntu | 9 --------- gradle.properties | 2 +- gradle/kotlin.gradle | 4 ++-- 7 files changed, 7 insertions(+), 98 deletions(-) delete mode 100644 Dockerfile.java11.slim delete mode 100644 Dockerfile.java11.ubuntu diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cb9a89479..350c3cdb3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,7 +26,6 @@ jobs: - uses: actions/setup-java@v4 with: java-version: | - 11 17 distribution: 'zulu' cache: 'gradle' @@ -38,7 +37,7 @@ jobs: - name: Build env: ORG_GRADLE_PROJECT_version: ${{ steps.build_variables.outputs.VERSION }} - run: ./gradlew -PenableCrossCompilerPlugin=true build --stacktrace ${{ steps.build_variables.outputs.REPO }}-web:installDist + run: ./gradlew build --stacktrace ${{ steps.build_variables.outputs.REPO }}-web:installDist - name: Build local slim container image for testing uses: docker/build-push-action@v6 with: @@ -86,28 +85,3 @@ jobs: tags: | "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ github.ref_name }}-latest-unvalidated-ubuntu" "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-unvalidated-ubuntu" - - name: Build and publish slim JRE 11 container image - # Only run this on repositories in the 'spinnaker' org, not on forks. - if: startsWith(github.repository, 'spinnaker/') - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile.java11.slim - platforms: linux/amd64,linux/arm64 - push: true - tags: | - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ github.ref_name }}-latest-java11-unvalidated" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ github.ref_name }}-latest-java11-unvalidated-slim" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated-slim" - - name: Build and publish ubuntu JRE 11 container image - # Only run this on repositories in the 'spinnaker' org, not on forks. - if: startsWith(github.repository, 'spinnaker/') - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile.java11.ubuntu - push: true - tags: | - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ github.ref_name }}-latest-java11-unvalidated-ubuntu" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated-ubuntu" diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 6ab3de453..1a633921c 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -20,7 +20,6 @@ jobs: - uses: actions/setup-java@v4 with: java-version: | - 11 17 distribution: 'zulu' cache: 'gradle' @@ -32,7 +31,7 @@ jobs: - name: Build env: ORG_GRADLE_PROJECT_version: ${{ steps.build_variables.outputs.VERSION }} - run: ./gradlew -PenableCrossCompilerPlugin=true build ${{ steps.build_variables.outputs.REPO }}-web:installDist + run: ./gradlew build ${{ steps.build_variables.outputs.REPO }}-web:installDist - name: Build slim container image uses: docker/build-push-action@v6 with: @@ -53,26 +52,6 @@ jobs: tags: | "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:latest-ubuntu" "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-ubuntu" - - name: Build slim JRE 11 container image - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile.java11.slim - platforms: linux/amd64,linux/arm64 - tags: | - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:latest-java11" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:latest-java11-slim" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-slim" - - name: Build ubuntu JRE 11 container image - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile.java11.ubuntu - platforms: linux/amd64,linux/arm64 - tags: | - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:latest-java11-ubuntu" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-ubuntu" - name: Build local slim container image for testing uses: docker/build-push-action@v6 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4ec132e3d..48db9fa9a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,7 +24,6 @@ jobs: - uses: actions/setup-java@v4 with: java-version: | - 11 17 distribution: 'zulu' cache: 'gradle' @@ -52,14 +51,14 @@ jobs: ORG_GRADLE_PROJECT_nexusPgpSigningKey: ${{ secrets.NEXUS_PGP_SIGNING_KEY }} ORG_GRADLE_PROJECT_nexusPgpSigningPassword: ${{ secrets.NEXUS_PGP_SIGNING_PASSWORD }} run: | - ./gradlew -PenableCrossCompilerPlugin=true --info build ${{ steps.build_variables.outputs.REPO }}-web:installDist publishToNexus closeAndReleaseNexusStagingRepository + ./gradlew --info build ${{ steps.build_variables.outputs.REPO }}-web:installDist publishToNexus closeAndReleaseNexusStagingRepository - name: Publish apt packages to Google Artifact Registry env: ORG_GRADLE_PROJECT_version: ${{ steps.release_info.outputs.RELEASE_VERSION }} ORG_GRADLE_PROJECT_artifactRegistryPublishEnabled: true GAR_JSON_KEY: ${{ secrets.GAR_JSON_KEY }} run: | - ./gradlew -PenableCrossCompilerPlugin=true --info publish + ./gradlew --info publish - name: Login to Google Cloud # Only run this on repositories in the 'spinnaker' org, not on forks. if: startsWith(github.repository, 'spinnaker/') @@ -110,31 +109,6 @@ jobs: tags: | "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-unvalidated-ubuntu" "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-${{ steps.build_variables.outputs.VERSION }}-unvalidated-ubuntu" - - name: Build and publish slim JRE 11 container image - # Only run this on repositories in the 'spinnaker' org, not on forks. - if: startsWith(github.repository, 'spinnaker/') - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile.java11.slim - platforms: linux/amd64,linux/arm64 - push: true - tags: | - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-java11-unvalidated" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-java11-unvalidated-slim" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated-slim" - - name: Build and publish ubuntu JRE 11 container image - # Only run this on repositories in the 'spinnaker' org, not on forks. - if: startsWith(github.repository, 'spinnaker/') - uses: docker/build-push-action@v6 - with: - context: . - file: Dockerfile.java11.ubuntu - platforms: linux/amd64,linux/arm64 - push: true - tags: | - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-java11-unvalidated-ubuntu" - "${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated-ubuntu" - name: Create release if: steps.release_info.outputs.SKIP_RELEASE == 'false' uses: softprops/action-gh-release@v2 diff --git a/Dockerfile.java11.slim b/Dockerfile.java11.slim deleted file mode 100644 index 58a92034a..000000000 --- a/Dockerfile.java11.slim +++ /dev/null @@ -1,9 +0,0 @@ -# Not using the alpine image because it lacks a package gRPC needed to establish pub/sub listeners. -FROM openjdk:11 -LABEL maintainer="sig-platform@spinnaker.io" -RUN adduser --system --uid 10111 --group spinnaker -COPY echo-web/build/install/echo /opt/echo -RUN mkdir -p /opt/echo/plugins && chown -R spinnaker:nogroup /opt/echo/plugins -USER spinnaker -HEALTHCHECK CMD curl http://localhost:8089/health | grep UP || exit 1 -CMD ["/opt/echo/bin/echo"] diff --git a/Dockerfile.java11.ubuntu b/Dockerfile.java11.ubuntu deleted file mode 100644 index 1235cee0b..000000000 --- a/Dockerfile.java11.ubuntu +++ /dev/null @@ -1,9 +0,0 @@ -FROM ubuntu:bionic -LABEL maintainer="sig-platform@spinnaker.io" -RUN apt-get update && apt-get -y install curl openjdk-11-jre-headless wget -RUN adduser --system --uid 10111 --group spinnaker -COPY echo-web/build/install/echo /opt/echo -RUN mkdir -p /opt/echo/plugins && chown -R spinnaker:nogroup /opt/echo/plugins -USER spinnaker -HEALTHCHECK CMD curl http://localhost:8089/health | grep UP || exit 1 -CMD ["/opt/echo/bin/echo"] diff --git a/gradle.properties b/gradle.properties index b817c97c4..886862054 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ korkVersion=7.244.0 kotlinVersion=1.6.21 org.gradle.parallel=true spinnakerGradleVersion=8.32.1 -targetJava17=false +targetJava17=true # To enable a composite reference to a project, set the # project property `'Composite=true'`. diff --git a/gradle/kotlin.gradle b/gradle/kotlin.gradle index 18a7d1ee8..609b560df 100644 --- a/gradle/kotlin.gradle +++ b/gradle/kotlin.gradle @@ -19,14 +19,14 @@ apply plugin: "kotlin" compileKotlin { kotlinOptions { languageVersion = "1.6" - jvmTarget = "11" + jvmTarget = "17" } } compileTestKotlin { kotlinOptions { languageVersion = "1.6" - jvmTarget = "11" + jvmTarget = "17" } } From 3212f267d7ae4a949f19ebfa0972ba471d1ca7f5 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Tue, 19 Nov 2024 14:05:22 -0600 Subject: [PATCH 2/2] chore(upgrades): Update OS to latest supported releases --- Dockerfile.compile | 2 +- Dockerfile.slim | 2 +- Dockerfile.ubuntu | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile.compile b/Dockerfile.compile index 3ab049d8c..1eda0f7ac 100644 --- a/Dockerfile.compile +++ b/Dockerfile.compile @@ -1,4 +1,4 @@ -FROM alpine:3.16 +FROM alpine:3.20 RUN apk add --update \ openjdk11 \ && rm -rf /var/cache/apk diff --git a/Dockerfile.slim b/Dockerfile.slim index 247b752a6..32de06648 100644 --- a/Dockerfile.slim +++ b/Dockerfile.slim @@ -1,4 +1,4 @@ -FROM alpine:3.16 +FROM alpine:3.20 LABEL maintainer="sig-platform@spinnaker.io" RUN apk --no-cache add --update bash curl openjdk17-jre RUN addgroup -S -g 10111 spinnaker diff --git a/Dockerfile.ubuntu b/Dockerfile.ubuntu index ee562a9ed..748b45f40 100644 --- a/Dockerfile.ubuntu +++ b/Dockerfile.ubuntu @@ -1,4 +1,4 @@ -FROM ubuntu:bionic +FROM ubuntu:jammy LABEL maintainer="sig-platform@spinnaker.io" RUN apt-get update && apt-get -y install curl openjdk-17-jre-headless wget RUN adduser --system --uid 10111 --group spinnaker