Skip to content

Commit f15d10d

Browse files
mattgogerlyaman-agrawal
authored andcommitted
feat(java17): use JRE17, run tests on JRE17, compile with JDK11 (spinnaker#1122)
1 parent f5a2550 commit f15d10d

File tree

8 files changed

+110
-5
lines changed

8 files changed

+110
-5
lines changed

.github/workflows/build.yml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ jobs:
2525
uses: docker/setup-buildx-action@v3
2626
- uses: actions/setup-java@v3
2727
with:
28-
java-version: 11
28+
java-version: |
29+
17
30+
11
2931
distribution: 'zulu'
3032
cache: 'gradle'
3133
- name: Prepare build variables
@@ -72,3 +74,29 @@ jobs:
7274
tags: |
7375
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ github.ref_name }}-latest-unvalidated-ubuntu"
7476
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-unvalidated-ubuntu"
77+
- name: Build and publish slim JRE 11 container image
78+
# Only run this on repositories in the 'spinnaker' org, not on forks.
79+
if: startsWith(github.repository, 'spinnaker/')
80+
uses: docker/build-push-action@v4
81+
with:
82+
context: .
83+
file: Dockerfile.java11.slim
84+
platforms: linux/amd64,linux/arm64
85+
push: true
86+
tags: |
87+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ github.ref_name }}-latest-java11-unvalidated"
88+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated"
89+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ github.ref_name }}-latest-java11-unvalidated-slim"
90+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated-slim"
91+
- name: Build and publish ubuntu JRE 11 container image
92+
# Only run this on repositories in the 'spinnaker' org, not on forks.
93+
if: startsWith(github.repository, 'spinnaker/')
94+
uses: docker/build-push-action@v4
95+
with:
96+
context: .
97+
file: Dockerfile.java11.ubuntu
98+
platforms: linux/amd64,linux/arm64
99+
push: true
100+
tags: |
101+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ github.ref_name }}-latest-java11-unvalidated-ubuntu"
102+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated-ubuntu"

.github/workflows/pr.yml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ jobs:
1919
uses: docker/setup-buildx-action@v3
2020
- uses: actions/setup-java@v3
2121
with:
22-
java-version: 11
22+
java-version: |
23+
17
24+
11
2325
distribution: 'zulu'
2426
cache: 'gradle'
2527
- name: Prepare build variables
@@ -51,3 +53,23 @@ jobs:
5153
tags: |
5254
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:latest-ubuntu"
5355
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-ubuntu"
56+
- name: Build slim JRE 11 container image
57+
uses: docker/build-push-action@v4
58+
with:
59+
context: .
60+
file: Dockerfile.java11.slim
61+
platforms: linux/amd64,linux/arm64
62+
tags: |
63+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:latest-java11"
64+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11"
65+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:latest-java11-slim"
66+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-slim"
67+
- name: Build ubuntu JRE 11 container image
68+
uses: docker/build-push-action@v4
69+
with:
70+
context: .
71+
file: Dockerfile.java11.ubuntu
72+
platforms: linux/amd64,linux/arm64
73+
tags: |
74+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:latest-java11-ubuntu"
75+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.build_variables.outputs.VERSION }}-java11-ubuntu"

.github/workflows/release.yml

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@ jobs:
4343
uses: docker/setup-buildx-action@v3
4444
- uses: actions/setup-java@v3
4545
with:
46-
java-version: 11
46+
java-version: |
47+
17
48+
11
4749
distribution: 'zulu'
4850
cache: 'gradle'
4951
- name: Assemble release info
@@ -128,6 +130,31 @@ jobs:
128130
tags: |
129131
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-unvalidated-ubuntu"
130132
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-${{ steps.build_variables.outputs.VERSION }}-unvalidated-ubuntu"
133+
- name: Build and publish slim JRE 11 container image
134+
# Only run this on repositories in the 'spinnaker' org, not on forks.
135+
if: startsWith(github.repository, 'spinnaker/')
136+
uses: docker/build-push-action@v4
137+
with:
138+
context: .
139+
file: Dockerfile.java11.slim
140+
platforms: linux/amd64,linux/arm64
141+
push: true
142+
tags: |
143+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-java11-unvalidated"
144+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-java11-unvalidated-slim"
145+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated-slim"
146+
- name: Build and publish ubuntu JRE 11 container image
147+
# Only run this on repositories in the 'spinnaker' org, not on forks.
148+
if: startsWith(github.repository, 'spinnaker/')
149+
uses: docker/build-push-action@v4
150+
with:
151+
context: .
152+
file: Dockerfile.java11.ubuntu
153+
platforms: linux/amd64,linux/arm64
154+
push: true
155+
tags: |
156+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-java11-unvalidated-ubuntu"
157+
"${{ env.CONTAINER_REGISTRY }}/${{ steps.build_variables.outputs.REPO }}:${{ steps.release_info.outputs.RELEASE_VERSION }}-${{ steps.build_variables.outputs.VERSION }}-java11-unvalidated-ubuntu"
131158
- name: Create release
132159
if: steps.release_info.outputs.SKIP_RELEASE == 'false'
133160
uses: softprops/action-gh-release@v1

Dockerfile.java11.slim

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
FROM alpine:3.16
2+
LABEL maintainer="sig-platform@spinnaker.io"
3+
RUN apk --no-cache add --update bash openjdk11-jre
4+
RUN addgroup -S -g 10111 spinnaker
5+
RUN adduser -S -G spinnaker -u 10111 spinnaker
6+
COPY fiat-web/build/install/fiat /opt/fiat
7+
RUN mkdir -p /opt/fiat/plugins && chown -R spinnaker:nogroup /opt/fiat/plugins
8+
USER spinnaker
9+
CMD ["/opt/fiat/bin/fiat"]

Dockerfile.java11.ubuntu

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
FROM ubuntu:bionic
2+
LABEL maintainer="sig-platform@spinnaker.io"
3+
RUN apt-get update && apt-get -y install openjdk-11-jre-headless wget
4+
RUN adduser --system --uid 10111 --group spinnaker
5+
COPY fiat-web/build/install/fiat /opt/fiat
6+
RUN mkdir -p /opt/fiat/plugins && chown -R spinnaker:nogroup /opt/fiat/plugins
7+
USER spinnaker
8+
CMD ["/opt/fiat/bin/fiat"]

Dockerfile.slim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM alpine:3.16
22
LABEL maintainer="sig-platform@spinnaker.io"
3-
RUN apk --no-cache add --update bash openjdk11-jre
3+
RUN apk --no-cache add --update bash openjdk17-jre
44
RUN addgroup -S -g 10111 spinnaker
55
RUN adduser -S -G spinnaker -u 10111 spinnaker
66
COPY fiat-web/build/install/fiat /opt/fiat

Dockerfile.ubuntu

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM ubuntu:bionic
22
LABEL maintainer="sig-platform@spinnaker.io"
3-
RUN apt-get update && apt-get -y install openjdk-11-jre-headless wget
3+
RUN apt-get update && apt-get -y install openjdk-17-jre-headless wget
44
RUN adduser --system --uid 10111 --group spinnaker
55
COPY fiat-web/build/install/fiat /opt/fiat
66
RUN mkdir -p /opt/fiat/plugins && chown -R spinnaker:nogroup /opt/fiat/plugins

build.gradle

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,17 @@ subprojects {
6666
failOnError = false
6767
}
6868

69+
tasks.withType(JavaCompile).configureEach {
70+
javaCompiler = javaToolchains.compilerFor {
71+
languageVersion = JavaLanguageVersion.of(11)
72+
}
73+
}
74+
tasks.withType(Test).configureEach {
75+
javaLauncher = javaToolchains.launcherFor {
76+
languageVersion = JavaLanguageVersion.of(17)
77+
}
78+
}
79+
6980
tasks.withType(JavaExec) {
7081
if (System.getProperty('DEBUG', 'false') == 'true') {
7182
jvmArgs '-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7103'

0 commit comments

Comments
 (0)