Skip to content

Commit ff5a6d9

Browse files
committed
Merge pull request #25519 from dreis2211
* gh-25519: Polish "Add Java 16 CI pipeline" Add Java 16 CI pipeline Closes gh-25519
2 parents 3c84ea9 + 24e957b commit ff5a6d9

File tree

6 files changed

+97
-2
lines changed

6 files changed

+97
-2
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
FROM ubuntu:focal-20210119
2+
3+
ADD setup.sh /setup.sh
4+
ADD get-jdk-url.sh /get-jdk-url.sh
5+
ADD get-docker-url.sh /get-docker-url.sh
6+
RUN ./setup.sh java8 java16
7+
8+
ENV JAVA_HOME /opt/openjdk
9+
ENV PATH $JAVA_HOME/bin:$PATH
10+
ADD docker-lib.sh /docker-lib.sh
11+
12+
ENTRYPOINT [ "switch", "shell=/bin/bash", "--", "codep", "/bin/docker daemon" ]

ci/images/get-jdk-url.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ case "$1" in
1111
java15)
1212
echo "https://github.com/AdoptOpenJDK/openjdk15-binaries/releases/download/jdk-15.0.2%2B7/OpenJDK15U-jdk_x64_linux_hotspot_15.0.2_7.tar.gz"
1313
;;
14+
java16)
15+
echo "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk16-2021-03-04-10-39/OpenJDK16-jdk_x64_linux_hotspot_2021-03-04-10-39.tar.gz"
16+
;;
1417
*)
1518
echo $"Unknown java version"
1619
exit 1

ci/images/setup.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ curl -L ${JDK_URL} | tar zx --strip-components=1
2626
test -f /opt/openjdk/bin/java
2727
test -f /opt/openjdk/bin/javac
2828

29+
if [[ $# -eq 2 ]]; then
30+
cd /
31+
TOOLCHAIN_JDK_URL=$( ./get-jdk-url.sh $2 )
32+
33+
mkdir -p /opt/openjdk-toolchain
34+
cd /opt/openjdk-toolchain
35+
curl -L ${TOOLCHAIN_JDK_URL} | tar zx --strip-components=1
36+
test -f /opt/openjdk-toolchain/bin/java
37+
test -f /opt/openjdk-toolchain/bin/javac
38+
fi
2939

3040
###########################################################
3141
# DOCKER

ci/pipeline.yml

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,12 @@ resources:
162162
source:
163163
<<: *registry-image-resource-source
164164
repository: ((docker-hub-organization))/spring-boot-ci-jdk15
165+
- name: ci-image-jdk16
166+
type: registry-image
167+
icon: docker
168+
source:
169+
<<: *registry-image-resource-source
170+
repository: ((docker-hub-organization))/spring-boot-ci-jdk16
165171
- name: artifactory-repo
166172
type: artifactory-resource
167173
icon: package-variant
@@ -194,6 +200,14 @@ resources:
194200
access_token: ((github-ci-status-token))
195201
branch: ((branch))
196202
context: jdk15-build
203+
- name: repo-status-jdk16-build
204+
type: github-status-resource
205+
icon: eye-check-outline
206+
source:
207+
repository: ((github-repo-name))
208+
access_token: ((github-ci-status-token))
209+
branch: ((branch))
210+
context: jdk16-build
197211
- name: slack-alert
198212
type: slack-notification
199213
icon: slack
@@ -243,6 +257,13 @@ jobs:
243257
image: ci-image-jdk15
244258
vars:
245259
ci-image-name: ci-image-jdk15
260+
- task: build-ci-image-jdk16
261+
privileged: true
262+
file: git-repo/ci/tasks/build-ci-image.yml
263+
output_mapping:
264+
image: ci-image-jdk16
265+
vars:
266+
ci-image-name: ci-image-jdk16
246267
- in_parallel:
247268
- put: ci-image
248269
params:
@@ -253,6 +274,9 @@ jobs:
253274
- put: ci-image-jdk15
254275
params:
255276
image: ci-image-jdk15/image.tar
277+
- put: ci-image-jdk16
278+
params:
279+
image: ci-image-jdk16/image.tar
256280
- name: detect-jdk-updates
257281
plan:
258282
- get: git-repo
@@ -278,6 +302,12 @@ jobs:
278302
params:
279303
<<: *github-task-params
280304
JDK_VERSION: java15
305+
- task: detect-jdk16-update
306+
image: ci-image
307+
file: git-repo/ci/tasks/detect-jdk-updates.yml
308+
params:
309+
<<: *github-task-params
310+
JDK_VERSION: java16
281311
- name: detect-ubuntu-image-updates
282312
plan:
283313
- get: git-repo
@@ -415,6 +445,38 @@ jobs:
415445
- put: slack-alert
416446
params:
417447
<<: *slack-success-params
448+
- name: jdk16-build
449+
serial: true
450+
public: true
451+
plan:
452+
- get: ci-image-jdk16
453+
- get: git-repo
454+
trigger: true
455+
- put: repo-status-jdk16-build
456+
params: { state: "pending", commit: "git-repo" }
457+
- do:
458+
- task: build-project
459+
image: ci-image-jdk16
460+
privileged: true
461+
timeout: ((task-timeout))
462+
file: git-repo/ci/tasks/build-project.yml
463+
params:
464+
BRANCH: ((branch))
465+
TOOLCHAIN_JAVA_VERSION: 16
466+
<<: *gradle-enterprise-task-params
467+
<<: *docker-hub-task-params
468+
on_failure:
469+
do:
470+
- put: repo-status-jdk16-build
471+
params: { state: "failure", commit: "git-repo" }
472+
- put: slack-alert
473+
params:
474+
<<: *slack-fail-params
475+
- put: repo-status-jdk16-build
476+
params: { state: "success", commit: "git-repo" }
477+
- put: slack-alert
478+
params:
479+
<<: *slack-success-params
418480
- name: windows-build
419481
serial: true
420482
plan:
@@ -638,7 +700,7 @@ jobs:
638700
repository: updated-homebrew-tap-repo
639701
groups:
640702
- name: "builds"
641-
jobs: ["build", "jdk11-build", "jdk15-build", "windows-build"]
703+
jobs: ["build", "jdk11-build", "jdk15-build", "jdk16-build", "windows-build"]
642704
- name: "releases"
643705
jobs: ["stage-milestone", "stage-rc", "stage-release", "promote-milestone", "promote-rc", "promote-release", "create-github-release", "publish-to-sdkman", "update-homebrew-tap"]
644706
- name: "ci-images"

ci/scripts/build-project.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,9 @@ source $(dirname $0)/common.sh
55
repository=$(pwd)/distribution-repository
66

77
pushd git-repo > /dev/null
8-
./gradlew -Dorg.gradle.internal.launcher.welcomeMessageEnabled=false --no-daemon --max-workers=4 -PdeploymentRepository=${repository} build publishAllPublicationsToDeploymentRepository
8+
if [[ -d /opt/openjdk-toolchain ]]; then
9+
./gradlew -Dorg.gradle.internal.launcher.welcomeMessageEnabled=false --no-daemon --max-workers=4 -PdeploymentRepository=${repository} build publishAllPublicationsToDeploymentRepository -PtoolchainVersion=${TOOLCHAIN_JAVA_VERSION} -Porg.gradle.java.installations.auto-detect=false -Porg.gradle.java.installations.auto-download=false -Porg.gradle.java.installations.paths=/opt/openjdk-toolchain/
10+
else
11+
./gradlew -Dorg.gradle.internal.launcher.welcomeMessageEnabled=false --no-daemon --max-workers=4 -PdeploymentRepository=${repository} build publishAllPublicationsToDeploymentRepository
12+
fi
913
popd > /dev/null

ci/scripts/detect-jdk-updates.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ case "$JDK_VERSION" in
2020
BASE_URL="https://api.adoptopenjdk.net/v3/assets/feature_releases/15/ga"
2121
ISSUE_TITLE="Upgrade Java 15 version in CI image"
2222
;;
23+
java16)
24+
BASE_URL="https://api.adoptopenjdk.net/v3/assets/feature_releases/16/ea"
25+
ISSUE_TITLE="Upgrade Java 16 version in CI image"
26+
;;
2327
*)
2428
echo $"Unknown java version"
2529
exit 1;

0 commit comments

Comments
 (0)