From d6947b2abbd51dfc3332a34387249b529207e2a9 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Fri, 15 Nov 2024 13:27:37 -0600 Subject: [PATCH 1/3] chore(java): Full Java 17 support only --- .github/workflows/build.yml | 27 --------------------------- .github/workflows/pr.yml | 21 --------------------- .github/workflows/release.yml | 26 -------------------------- Dockerfile.compile | 2 +- Dockerfile.java11.slim | 10 ---------- Dockerfile.java11.ubuntu | 9 --------- gradle.properties | 2 +- gradle/kotlin.gradle | 4 ++-- 8 files changed, 4 insertions(+), 97 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 fc2efc259..a5f5a9d6c 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' @@ -87,29 +86,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 - platforms: linux/amd64,linux/arm64 - 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..cccdea15d 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' @@ -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 aeec8f9e6..5e29fcbf2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -45,7 +45,6 @@ jobs: - uses: actions/setup-java@v4 with: java-version: | - 11 17 distribution: 'zulu' cache: 'gradle' @@ -131,31 +130,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.compile b/Dockerfile.compile index 80589813d..4e7ecf4d1 100644 --- a/Dockerfile.compile +++ b/Dockerfile.compile @@ -1,6 +1,6 @@ FROM alpine:3.16 RUN apk add --update \ - openjdk11 \ + openjdk17 \ && rm -rf /var/cache/apk LABEL maintainer="sig-platform@spinnaker.io" ENV GRADLE_USER_HOME /workspace/.gradle diff --git a/Dockerfile.java11.slim b/Dockerfile.java11.slim deleted file mode 100644 index b26bae4f5..000000000 --- a/Dockerfile.java11.slim +++ /dev/null @@ -1,10 +0,0 @@ -FROM alpine:3.16 -LABEL maintainer="sig-platform@spinnaker.io" -RUN apk --no-cache add --update bash curl openjdk11-jre -RUN addgroup -S -g 10111 spinnaker -RUN adduser -S -G spinnaker -u 10111 spinnaker -COPY front50-web/build/install/front50 /opt/front50 -RUN mkdir -p /opt/front50/plugins && chown -R spinnaker:nogroup /opt/front50/plugins -USER spinnaker -HEALTHCHECK CMD curl http://localhost:8080/health | grep UP || exit 1 -CMD ["/opt/front50/bin/front50"] diff --git a/Dockerfile.java11.ubuntu b/Dockerfile.java11.ubuntu deleted file mode 100644 index 9899ac374..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 front50-web/build/install/front50 /opt/front50 -RUN mkdir -p /opt/front50/plugins && chown -R spinnaker:nogroup /opt/front50/plugins -USER spinnaker -HEALTHCHECK CMD curl http://localhost:8080/health | grep UP || exit 1 -CMD ["/opt/front50/bin/front50"] diff --git a/gradle.properties b/gradle.properties index 2d8c2f8c8..5cd704142 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ includeProviders=azure,gcs,oracle,redis,s3,swift,sql korkVersion=7.243.0 org.gradle.parallel=true spinnakerGradleVersion=8.32.1 -targetJava17=false +targetJava17=true kotlinVersion=1.6.21 # To enable a composite reference to a project, set the diff --git a/gradle/kotlin.gradle b/gradle/kotlin.gradle index b8a48e1e5..9b44eb4e5 100644 --- a/gradle/kotlin.gradle +++ b/gradle/kotlin.gradle @@ -20,14 +20,14 @@ apply plugin: "kotlin-spring" compileKotlin { kotlinOptions { languageVersion = "1.6" - jvmTarget = "11" + jvmTarget = "17" } } compileTestKotlin { kotlinOptions { languageVersion = "1.6" - jvmTarget = "11" + jvmTarget = "17" } } From 4f1ccc0aa4d35e2e53069440d8ac642dd0a95fa8 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Fri, 15 Nov 2024 15:14:53 -0600 Subject: [PATCH 2/3] chore(java): Full Java 17 support only --- .github/workflows/build.yml | 2 +- .github/workflows/pr.yml | 2 +- .github/workflows/release.yml | 4 ++-- Dockerfile.compile | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a5f5a9d6c..43c864306 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,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: diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index cccdea15d..1a633921c 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -31,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: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5e29fcbf2..7d41da1d0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -72,14 +72,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/') diff --git a/Dockerfile.compile b/Dockerfile.compile index 4e7ecf4d1..69037f771 100644 --- a/Dockerfile.compile +++ b/Dockerfile.compile @@ -5,4 +5,4 @@ RUN apk add --update \ LABEL maintainer="sig-platform@spinnaker.io" ENV GRADLE_USER_HOME /workspace/.gradle ENV GRADLE_OPTS -Xmx4g -CMD ./gradlew -PenableCrossCompilerPlugin=true --no-daemon front50-web:installDist -x test +CMD ./gradlew --no-daemon front50-web:installDist -x test From 289fa238a66ea0e785f2e0f61e847a3c7b583d98 Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Tue, 19 Nov 2024 14:14:02 -0600 Subject: [PATCH 3/3] 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 69037f771..99e9672af 100644 --- a/Dockerfile.compile +++ b/Dockerfile.compile @@ -1,4 +1,4 @@ -FROM alpine:3.16 +FROM alpine:3.20 RUN apk add --update \ openjdk17 \ && rm -rf /var/cache/apk diff --git a/Dockerfile.slim b/Dockerfile.slim index 770765e15..f3c9decb2 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 4f6871ae3..967e2ead4 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