From eb2a0c93b7274f940a07f9afdcb78ed23d0c7ead Mon Sep 17 00:00:00 2001 From: Jason McIntosh Date: Fri, 15 Nov 2024 13:07:27 -0600 Subject: [PATCH] chore(java): Full Java 17 support only --- .github/workflows/build.yml | 26 ----------- .github/workflows/pr.yml | 21 --------- .github/workflows/release.yml | 26 ----------- Dockerfile.compile | 4 +- Dockerfile.java11.slim | 72 ------------------------------ Dockerfile.java11.ubuntu | 84 ----------------------------------- gradle.properties | 2 +- 7 files changed, 3 insertions(+), 232 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 e6e3d9cd1..77f785ed5 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,28 +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 - 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 5fb54cd0f..a2890047a 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 16a516b62..3b77e229c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,6 @@ jobs: - uses: actions/setup-java@v4 with: java-version: | - 11 17 distribution: 'zulu' cache: 'gradle' @@ -117,31 +116,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 e6acb7f50..ded359c48 100644 --- a/Dockerfile.compile +++ b/Dockerfile.compile @@ -1,6 +1,6 @@ -FROM alpine:3.16 +FROM alpine:3.20 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 72772b66b..000000000 --- a/Dockerfile.java11.slim +++ /dev/null @@ -1,72 +0,0 @@ -FROM alpine:3.16 -LABEL maintainer="sig-platform@spinnaker.io" - -ENV KUSTOMIZE_VERSION=3.8.6 -ENV KUSTOMIZE4_VERSION=4.5.5 -ENV PACKER_VERSION=1.10.1 -ENV HELMFILE_VERSION=0.153.1 - - -ARG TARGETARCH -ARG PACKER_PLUGINS="amazon azure googlecompute" - -WORKDIR /packer - -RUN apk --no-cache add --update bash wget curl openssl openjdk11-jre git openssh-client && \ - wget https://releases.hashicorp.com/packer/${PACKER_VERSION}/packer_${PACKER_VERSION}_linux_${TARGETARCH}.zip && \ - unzip packer_${PACKER_VERSION}_linux_${TARGETARCH}.zip && \ - rm packer_${PACKER_VERSION}_linux_${TARGETARCH}.zip - -ENV PATH "/packer:$PATH" - -# Install Helm 3 -RUN wget https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get-helm-3 && \ - chmod +x get-helm-3 && \ - ./get-helm-3 && \ - rm get-helm-3 && \ - mv /usr/local/bin/helm /usr/local/bin/helm3 - -# Install Helm 2 -RUN wget https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get && \ - chmod +x get && \ - ./get --version v2.17.0 && \ - rm get - -RUN mkdir kustomize && \ - curl -s -L https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v${KUSTOMIZE_VERSION}/kustomize_v${KUSTOMIZE_VERSION}_linux_${TARGETARCH}.tar.gz|\ - tar xvz -C kustomize/ && \ - mv ./kustomize/kustomize /usr/local/bin/kustomize && \ - rm -rf ./kustomize - -RUN mkdir kustomize && \ - curl -s -L https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v${KUSTOMIZE4_VERSION}/kustomize_v${KUSTOMIZE4_VERSION}_linux_${TARGETARCH}.tar.gz|\ - tar xvz -C kustomize/ && \ - mv ./kustomize/kustomize /usr/local/bin/kustomize4 && \ - rm -rf ./kustomize - -RUN mkdir helmfile && \ - curl -s -L https://github.com/helmfile/helmfile/releases/download/v${HELMFILE_VERSION}/helmfile_${HELMFILE_VERSION}_linux_${TARGETARCH}.tar.gz|\ - tar xvz -C helmfile/ && \ - mv ./helmfile/helmfile /usr/local/bin/helmfile && \ - rm -rf ./helmfile - -RUN addgroup -S -g 10111 spinnaker -RUN adduser -S -G spinnaker -u 10111 spinnaker -COPY rosco-web/build/install/rosco /opt/rosco -COPY rosco-web/config /opt/rosco -COPY halconfig/packer /opt/rosco/config/packer -RUN mkdir -p /opt/rosco/plugins && chown -R spinnaker:nogroup /opt/rosco/plugins -USER spinnaker - -# Install packer plugins (must be run as spinnaker user). To provide a github token (optional), run docker build with something like "--secret id=github_token,env=PACKER_GITHUB_API_TOKEN" -RUN for plugin in $PACKER_PLUGINS ; do \ - if [ -f /run/secrets/github_token ]; then \ - PACKER_GITHUB_API_TOKEN=$(cat /run/secrets/github_token) packer plugins install "github.com/hashicorp/$plugin"; \ - else \ - packer plugins install "github.com/hashicorp/$plugin"; \ - fi; \ -done - -HEALTHCHECK CMD curl http://localhost:8087/health | grep UP || exit 1 - -CMD ["/opt/rosco/bin/rosco"] diff --git a/Dockerfile.java11.ubuntu b/Dockerfile.java11.ubuntu deleted file mode 100644 index 5dff3b521..000000000 --- a/Dockerfile.java11.ubuntu +++ /dev/null @@ -1,84 +0,0 @@ -FROM ubuntu:bionic -LABEL maintainer="sig-platform@spinnaker.io" - -ENV KUSTOMIZE_VERSION=3.8.6 -ENV KUSTOMIZE4_VERSION=4.5.5 -ENV PACKER_VERSION=1.10.1 -ENV HELMFILE_VERSION=0.153.1 - -ARG TARGETARCH -ARG PACKER_PLUGINS="amazon azure googlecompute" - -WORKDIR /packer - -RUN apt-get update && apt-get -y install openjdk-11-jre-headless wget unzip curl git openssh-client && \ - wget https://releases.hashicorp.com/packer/${PACKER_VERSION}/packer_${PACKER_VERSION}_linux_${TARGETARCH}.zip && \ - unzip packer_${PACKER_VERSION}_linux_${TARGETARCH}.zip && \ - rm packer_${PACKER_VERSION}_linux_${TARGETARCH}.zip - -ENV PATH "/packer:$PATH" - -# Install Helm 3 -RUN wget https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get-helm-3 && \ - chmod +x get-helm-3 && \ - ./get-helm-3 && \ - rm get-helm-3 && \ - mv /usr/local/bin/helm /usr/local/bin/helm3 - -# Install Helm 2 -RUN wget https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get && \ - chmod +x get && \ - ./get --version v2.17.0 && \ - rm get - -RUN mkdir kustomize && \ - curl -s -L https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v${KUSTOMIZE_VERSION}/kustomize_v${KUSTOMIZE_VERSION}_linux_${TARGETARCH}.tar.gz|\ - tar xvz -C kustomize/ && \ - mv ./kustomize/kustomize /usr/local/bin/kustomize && \ - rm -rf ./kustomize - -RUN mkdir kustomize && \ - curl -s -L https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v${KUSTOMIZE4_VERSION}/kustomize_v${KUSTOMIZE4_VERSION}_linux_${TARGETARCH}.tar.gz|\ - tar xvz -C kustomize/ && \ - mv ./kustomize/kustomize /usr/local/bin/kustomize4 && \ - rm -rf ./kustomize - -RUN mkdir helmfile && \ - curl -s -L https://github.com/helmfile/helmfile/releases/download/v${HELMFILE_VERSION}/helmfile_${HELMFILE_VERSION}_linux_${TARGETARCH}.tar.gz|\ - tar xvz -C helmfile/ && \ - mv ./helmfile/helmfile /usr/local/bin/helmfile && \ - rm -rf ./helmfile - -# Install AWS CLI 2 and the session manager plugin -RUN if [ "${TARGETARCH}" = "arm64" ]; then \ - curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip" && \ - curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_arm64/session-manager-plugin.deb" -o "session-manager-plugin.deb"; \ - else \ - curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \ - curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"; \ - fi && \ - unzip awscliv2.zip && \ - ./aws/install && \ - rm -rf ./awscliv2.zip ./aws && \ - dpkg -i session-manager-plugin.deb && \ - rm session-manager-plugin.deb - -RUN adduser --system --uid 10111 --group spinnaker -COPY rosco-web/build/install/rosco /opt/rosco -COPY rosco-web/config /opt/rosco -COPY halconfig/packer /opt/rosco/config/packer -RUN mkdir -p /opt/rosco/plugins && chown -R spinnaker:nogroup /opt/rosco/plugins -USER spinnaker - -# Install packer plugins (must be run as spinnaker user). To provide a github token (optional), run docker build with something like "--secret id=github_token,env=PACKER_GITHUB_API_TOKEN" -RUN for plugin in $PACKER_PLUGINS ; do \ - if [ -f /run/secrets/github_token ]; then \ - PACKER_GITHUB_API_TOKEN=$(cat /run/secrets/github_token) packer plugins install "github.com/hashicorp/$plugin"; \ - else \ - packer plugins install "github.com/hashicorp/$plugin"; \ - fi; \ -done - -HEALTHCHECK CMD curl http://localhost:8087/health | grep UP || exit 1 - -CMD ["/opt/rosco/bin/rosco"] diff --git a/gradle.properties b/gradle.properties index c31730c8d..99abc05e1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ korkVersion=7.243.0 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'`.