Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions ci/images/ci-image-jdk16/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM ubuntu:focal-20210119

ADD setup.sh /setup.sh
ADD get-jdk-url.sh /get-jdk-url.sh
ADD get-docker-url.sh /get-docker-url.sh
RUN ./setup.sh java8 java16

ENV JAVA_HOME /opt/openjdk
ENV PATH $JAVA_HOME/bin:$PATH
ADD docker-lib.sh /docker-lib.sh

ENTRYPOINT [ "switch", "shell=/bin/bash", "--", "codep", "/bin/docker daemon" ]
3 changes: 3 additions & 0 deletions ci/images/get-jdk-url.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ case "$1" in
java15)
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"
;;
java16)
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"
;;
*)
echo $"Unknown java version"
exit 1
Expand Down
9 changes: 9 additions & 0 deletions ci/images/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,15 @@ curl -L ${JDK_URL} | tar zx --strip-components=1
test -f /opt/openjdk/bin/java
test -f /opt/openjdk/bin/javac

if [[ $# -eq 2 ]]; then
TOOLCHAIN_JDK_URL=$( ./get-jdk-url.sh $2 )

mkdir -p /opt/openjdk-toolchain
cd /opt/openjdk-toolchain
curl -L ${TOOLCHAIN_JDK_URL} | tar zx --strip-components=1
test -f /opt/openjdk-toolchain/bin/java
test -f /opt/openjdk-toolchain/bin/javac
fi

###########################################################
# DOCKER
Expand Down
57 changes: 56 additions & 1 deletion ci/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,12 @@ resources:
source:
<<: *registry-image-resource-source
repository: ((docker-hub-organization))/spring-boot-ci-jdk15
- name: ci-image-jdk16
type: registry-image
icon: docker
source:
<<: *registry-image-resource-source
repository: ((docker-hub-organization))/spring-boot-ci-jdk16
- name: artifactory-repo
type: artifactory-resource
icon: package-variant
Expand Down Expand Up @@ -194,6 +200,14 @@ resources:
access_token: ((github-ci-status-token))
branch: ((branch))
context: jdk15-build
- name: repo-status-jdk16-build
type: github-status-resource
icon: eye-check-outline
source:
repository: ((github-repo-name))
access_token: ((github-ci-status-token))
branch: ((branch))
context: jdk16-build
- name: slack-alert
type: slack-notification
icon: slack
Expand Down Expand Up @@ -243,6 +257,13 @@ jobs:
image: ci-image-jdk15
vars:
ci-image-name: ci-image-jdk15
- task: build-ci-image-jdk16
privileged: true
file: git-repo/ci/tasks/build-ci-image.yml
output_mapping:
image: ci-image-jdk16
vars:
ci-image-name: ci-image-jdk16
- in_parallel:
- put: ci-image
params:
Expand All @@ -253,6 +274,9 @@ jobs:
- put: ci-image-jdk15
params:
image: ci-image-jdk15/image.tar
- put: ci-image-jdk16
params:
image: ci-image-jdk16/image.tar
- name: detect-jdk-updates
plan:
- get: git-repo
Expand All @@ -278,6 +302,12 @@ jobs:
params:
<<: *github-task-params
JDK_VERSION: java15
- task: detect-jdk16-update
image: ci-image
file: git-repo/ci/tasks/detect-jdk-updates.yml
params:
<<: *github-task-params
JDK_VERSION: java16
- name: detect-ubuntu-image-updates
plan:
- get: git-repo
Expand Down Expand Up @@ -415,6 +445,31 @@ jobs:
- put: slack-alert
params:
<<: *slack-success-params
- name: jdk16-build
serial: true
public: true
plan:
- get: ci-image-jdk16
- get: git-repo
trigger: true
- put: repo-status-jdk16-build
params: { state: "pending", commit: "git-repo" }
- do:
- task: build-project
image: ci-image-jdk16
<<: *build-project-task-params
on_failure:
do:
- put: repo-status-jdk16-build
params: { state: "failure", commit: "git-repo" }
- put: slack-alert
params:
<<: *slack-fail-params
- put: repo-status-jdk16-build
params: { state: "success", commit: "git-repo" }
- put: slack-alert
params:
<<: *slack-success-params
- name: windows-build
serial: true
plan:
Expand Down Expand Up @@ -638,7 +693,7 @@ jobs:
repository: updated-homebrew-tap-repo
groups:
- name: "builds"
jobs: ["build", "jdk11-build", "jdk15-build", "windows-build"]
jobs: ["build", "jdk11-build", "jdk15-build", "jdk16-build", "windows-build"]
- name: "releases"
jobs: ["stage-milestone", "stage-rc", "stage-release", "promote-milestone", "promote-rc", "promote-release", "create-github-release", "publish-to-sdkman", "update-homebrew-tap"]
- name: "ci-images"
Expand Down
7 changes: 6 additions & 1 deletion ci/scripts/build-project.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,10 @@ source $(dirname $0)/common.sh
repository=$(pwd)/distribution-repository

pushd git-repo > /dev/null
./gradlew -Dorg.gradle.internal.launcher.welcomeMessageEnabled=false --no-daemon --max-workers=4 -PdeploymentRepository=${repository} build publishAllPublicationsToDeploymentRepository
if [[ -d /opt/openjdk-toolchain ]]; then
toolchain_java_version=$( ./$(dirname $0)/get-toolchain-java-version.sh )
./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/
else
./gradlew -Dorg.gradle.internal.launcher.welcomeMessageEnabled=false --no-daemon --max-workers=4 -PdeploymentRepository=${repository} build publishAllPublicationsToDeploymentRepository
fi
popd > /dev/null
4 changes: 4 additions & 0 deletions ci/scripts/detect-jdk-updates.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ case "$JDK_VERSION" in
BASE_URL="https://api.adoptopenjdk.net/v3/assets/feature_releases/15/ga"
ISSUE_TITLE="Upgrade Java 15 version in CI image"
;;
java16)
BASE_URL="https://api.adoptopenjdk.net/v3/assets/feature_releases/16/ea"
ISSUE_TITLE="Upgrade Java 16 version in CI image"
;;
*)
echo $"Unknown java version"
exit 1;
Expand Down
4 changes: 4 additions & 0 deletions ci/scripts/get-toolchain-java-version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/bash
set -e

/opt/openjdk-toolchain/bin/java -XshowSettings:properties -version 2>&1 | grep "java.specification.version" | awk '{split($0,parts,"="); print parts[2]}' | awk '{$1=$1;print}'