diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e6e3d9cd1..21709d079 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: @@ -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..ab3c6a4a7 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 16a516b62..675ea7165 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' @@ -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: Tar Packer templates for upload to GCS # Note, Halyard expects packer.tar.gz but doesn't actually gunzip it. # Thus we must create a non-gzipped tar archive. @@ -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/build.gradle b/build.gradle index 2b6fdab41..8d407361e 100644 --- a/build.gradle +++ b/build.gradle @@ -51,16 +51,6 @@ subprojects { } } - tasks.withType(JavaCompile).configureEach { - javaCompiler = javaToolchains.compilerFor { - languageVersion = JavaLanguageVersion.of(11) - } - } - tasks.withType(Test).configureEach { - javaLauncher = javaToolchains.launcherFor { - languageVersion = JavaLanguageVersion.of(17) - } - } } defaultTasks ':rosco-web:run' 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'`.