Skip to content

Commit f0e57ed

Browse files
dreis2211snicoll
authored andcommitted
Add Java 14 CI
See gh-20413
1 parent 2e2f839 commit f0e57ed

File tree

11 files changed

+124
-7
lines changed

11 files changed

+124
-7
lines changed

buildSrc/src/main/java/org/springframework/boot/build/ConventionsPlugin.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ private void applyJavaConventions(Project project) {
141141
});
142142
project.getTasks().withType(Test.class, (test) -> {
143143
withOptionalBuildJavaHome(project, (javaHome) -> test.setExecutable(javaHome + "/bin/java"));
144+
withOptionalTestJavaHome(project, (javaHome) -> test.setExecutable(javaHome + "/bin/java"));
144145
test.useJUnitPlatform();
145146
test.setMaxHeapSize("1024M");
146147
});
@@ -199,7 +200,15 @@ private File createLegalFile(File source, String filename) {
199200
}
200201

201202
private void withOptionalBuildJavaHome(Project project, Consumer<String> consumer) {
202-
String buildJavaHome = (String) project.findProperty("buildJavaHome");
203+
withOptionalJavaHome(project, consumer, "buildJavaHome");
204+
}
205+
206+
private void withOptionalTestJavaHome(Project project, Consumer<String> consumer) {
207+
withOptionalJavaHome(project, consumer, "testJavaHome");
208+
}
209+
210+
private void withOptionalJavaHome(Project project, Consumer<String> consumer, String javaHome) {
211+
String buildJavaHome = (String) project.findProperty(javaHome);
203212
if (buildJavaHome != null && !buildJavaHome.isEmpty()) {
204213
consumer.accept(buildJavaHome);
205214
}

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
java13)
1212
echo "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jdk_x64_linux_hotspot_13.0.2_8.tar.gz"
1313
;;
14+
java14)
15+
echo "https://github.com/AdoptOpenJDK/openjdk14-binaries/releases/download/jdk14-2020-03-05-04-06/OpenJDK14-jdk_x64_linux_hotspot_2020-03-05-04-06.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
@@ -23,6 +23,16 @@ curl -L ${JDK_URL} | tar zx --strip-components=1
2323
test -f /opt/openjdk/bin/java
2424
test -f /opt/openjdk/bin/javac
2525

26+
if [[ $1 != $2 ]]; then
27+
SECONDARY_JDK_URL=$( ./get-jdk-url.sh $2 )
28+
29+
mkdir -p /opt/openjdk-secondary
30+
cd /opt/openjdk-secondary
31+
curl -L ${SECONDARY_JDK_URL} | tar zx --strip-components=1
32+
test -f /opt/openjdk-secondary/bin/java
33+
test -f /opt/openjdk-secondary/bin/javac
34+
fi
35+
2636

2737
###########################################################
2838
# DOCKER

ci/images/spring-boot-ci-image/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM ubuntu:bionic-20200219
22

33
ADD setup.sh /setup.sh
44
ADD get-jdk-url.sh /get-jdk-url.sh
5-
RUN ./setup.sh java8
5+
RUN ./setup.sh java8 java8
66

77
ENV JAVA_HOME /opt/openjdk
88
ENV PATH $JAVA_HOME/bin:$PATH

ci/images/spring-boot-jdk11-ci-image/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM ubuntu:bionic-20200219
22

33
ADD setup.sh /setup.sh
44
ADD get-jdk-url.sh /get-jdk-url.sh
5-
RUN ./setup.sh java11
5+
RUN ./setup.sh java11 java11
66

77
ENV JAVA_HOME /opt/openjdk
88
ENV PATH $JAVA_HOME/bin:$PATH

ci/images/spring-boot-jdk13-ci-image/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM ubuntu:bionic-20200219
22

33
ADD setup.sh /setup.sh
44
ADD get-jdk-url.sh /get-jdk-url.sh
5-
RUN ./setup.sh java13
5+
RUN ./setup.sh java13 java13
66

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

ci/pipeline.yml

Lines changed: 68 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,14 @@ resources:
9494
username: ((docker-hub-username))
9595
password: ((docker-hub-password))
9696
tag: 2.3.x
97+
- name: spring-boot-jdk14-ci-image
98+
type: docker-image
99+
icon: docker
100+
source:
101+
repository: ((docker-hub-organization))/spring-boot-jdk14-ci-image
102+
username: ((docker-hub-username))
103+
password: ((docker-hub-password))
104+
tag: 2.3.x
97105
- name: artifactory-repo
98106
type: artifactory-resource
99107
icon: package-variant
@@ -126,6 +134,14 @@ resources:
126134
access_token: ((github-ci-status-token))
127135
branch: ((branch))
128136
context: jdk13-build
137+
- name: repo-status-jdk14-build
138+
type: github-status-resource
139+
icon: eye-check-outline
140+
source:
141+
repository: ((github-repo-name))
142+
access_token: ((github-ci-status-token))
143+
branch: ((branch))
144+
context: jdk14-build
129145
- name: slack-alert
130146
type: slack-notification
131147
icon: slack
@@ -160,6 +176,10 @@ jobs:
160176
params:
161177
build: ci-images-git-repo/ci/images
162178
dockerfile: ci-images-git-repo/ci/images/spring-boot-jdk13-ci-image/Dockerfile
179+
- put: spring-boot-jdk14-ci-image
180+
params:
181+
build: ci-images-git-repo/ci/images
182+
dockerfile: ci-images-git-repo/ci/images/spring-boot-jdk14-ci-image/Dockerfile
163183
- name: detect-jdk-updates
164184
plan:
165185
- get: git-repo
@@ -194,6 +214,15 @@ jobs:
194214
GITHUB_USERNAME: ((github-username))
195215
JDK_VERSION: java13
196216
image: spring-boot-ci-image
217+
- task: detect-jdk14-update
218+
file: git-repo/ci/tasks/detect-jdk-updates.yml
219+
params:
220+
GITHUB_REPO: spring-boot
221+
GITHUB_ORGANIZATION: spring-projects
222+
GITHUB_PASSWORD: ((github-password))
223+
GITHUB_USERNAME: ((github-username))
224+
JDK_VERSION: java14
225+
image: spring-boot-ci-image
197226
- name: detect-ubuntu-image-updates
198227
plan:
199228
- get: git-repo
@@ -375,6 +404,44 @@ jobs:
375404
silent: true
376405
icon_emoji: ":concourse:"
377406
username: concourse-ci
407+
- name: jdk14-build
408+
serial: true
409+
public: true
410+
plan:
411+
- get: spring-boot-jdk14-ci-image
412+
- get: git-repo
413+
trigger: false
414+
- put: repo-status-jdk14-build
415+
params: { state: "pending", commit: "git-repo" }
416+
- do:
417+
- task: build-project
418+
privileged: true
419+
timeout: ((task-timeout))
420+
image: spring-boot-jdk14-ci-image
421+
file: git-repo/ci/tasks/build-project.yml
422+
params:
423+
BRANCH: ((branch))
424+
GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key))
425+
GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username))
426+
GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password))
427+
on_failure:
428+
do:
429+
- put: repo-status-jdk14-build
430+
params: { state: "failure", commit: "git-repo" }
431+
- put: slack-alert
432+
params:
433+
text: ":concourse-failed: <https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}|${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} failed!>"
434+
silent: true
435+
icon_emoji: ":concourse:"
436+
username: concourse-ci
437+
- put: repo-status-jdk14-build
438+
params: { state: "success", commit: "git-repo" }
439+
- put: slack-alert
440+
params:
441+
text: ":concourse-succeeded: <https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}|${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} was successful!>"
442+
silent: true
443+
icon_emoji: ":concourse:"
444+
username: concourse-ci
378445
- name: windows-build
379446
serial: true
380447
plan:
@@ -591,7 +658,7 @@ jobs:
591658
body: generated-release-notes/release-notes.md
592659
groups:
593660
- name: "Build"
594-
jobs: ["build", "jdk11-build", "jdk13-build", "windows-build"]
661+
jobs: ["build", "jdk11-build", "jdk13-build", "jdk14-build", "windows-build"]
595662
- name: "Release"
596663
jobs: ["stage-milestone", "stage-rc", "stage-release", "promote-milestone", "promote-rc", "promote-release", "sync-to-maven-central"]
597664
- name: "CI Images"

ci/scripts/build-project.sh

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,14 @@ 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-secondary ]]; then
9+
java_version=$( ./$(dirname $0)/get-secondary-java-version.sh )
10+
if [[ ${java_version} = "14" ]]; then
11+
./gradlew -Dorg.gradle.internal.launcher.welcomeMessageEnabled=false --no-daemon --max-workers=4 -PtestJavaHome=/opt/openjdk-secondary -PdeploymentRepository=${repository} build publishAllPublicationsToDeploymentRepository -x :spring-boot-project:spring-boot-tools:spring-boot-gradle-plugin:test
12+
else
13+
./gradlew -Dorg.gradle.internal.launcher.welcomeMessageEnabled=false --no-daemon --max-workers=4 -PtestJavaHome=/opt/openjdk-secondary -PdeploymentRepository=${repository} build publishAllPublicationsToDeploymentRepository
14+
fi
15+
else
16+
./gradlew -Dorg.gradle.internal.launcher.welcomeMessageEnabled=false --no-daemon --max-workers=4 -PdeploymentRepository=${repository} build publishAllPublicationsToDeploymentRepository
17+
fi
918
popd > /dev/null

ci/scripts/detect-jdk-updates.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,16 @@ case "$JDK_VERSION" in
1313
BASE_URL="https://api.adoptopenjdk.net/v3/assets/feature_releases/13"
1414
ISSUE_TITLE="Upgrade Java 13 version in CI image"
1515
;;
16+
java14)
17+
BASE_URL="https://api.adoptopenjdk.net/v3/assets/feature_releases/14/ea"
18+
ISSUE_TITLE="Upgrade Java 14 version in CI image"
19+
;;
1620
*)
1721
echo $"Unknown java version"
1822
exit 1;
1923
esac
2024

21-
response=$( curl -s ${BASE_URL}\/ga\?architecture\=x64\&heap_size\=normal\&image_type\=jdk\&jvm_impl\=hotspot\&os\=linux\&sort_order\=DESC\&vendor\=adoptopenjdk )
25+
response=$( curl -s ${BASE_URL}\?architecture\=x64\&heap_size\=normal\&image_type\=jdk\&jvm_impl\=hotspot\&os\=linux\&sort_order\=DESC\&vendor\=adoptopenjdk )
2226
latest=$( jq -r '.[0].binaries[0].package.link' <<< "$response" )
2327

2428
current=$( git-repo/ci/images/get-jdk-url.sh ${JDK_VERSION} )

0 commit comments

Comments
 (0)