Set up CI with JDK 18

Closes gh-30104
This commit is contained in:
Andy Wilkinson
2022-03-09 09:14:23 +00:00
parent 429167e71f
commit 20d21d4e58
14 changed files with 127 additions and 14 deletions

View File

@@ -0,0 +1,12 @@
FROM ubuntu:focal-20220113
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 java18
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" ]

View File

@@ -11,6 +11,9 @@ case "$1" in
java17)
echo "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_x64_linux_hotspot_17.0.2_8.tar.gz"
;;
java18)
echo "https://github.com/adoptium/temurin18-binaries/releases/download/jdk18-2022-02-15-13-13-beta/OpenJDK18-jdk_x64_linux_hotspot_2022-02-15-13-13.tar.gz"
;;
*)
echo $"Unknown java version"
exit 1

View File

@@ -175,6 +175,12 @@ resources:
source:
<<: *registry-image-resource-source
repository: ((docker-hub-organization))/spring-boot-ci-jdk17
- name: ci-image-jdk18
type: registry-image
icon: docker
source:
<<: *registry-image-resource-source
repository: ((docker-hub-organization))/spring-boot-ci-jdk18
- name: artifactory-repo
type: artifactory-resource
icon: package-variant
@@ -207,6 +213,14 @@ resources:
access_token: ((github-ci-status-token))
branch: ((branch))
context: jdk17-build
- name: repo-status-jdk18-build
type: github-status-resource
icon: eye-check-outline
source:
repository: ((github-repo-name))
access_token: ((github-ci-status-token))
branch: ((branch))
context: jdk18-build
- name: slack-alert
type: slack-notification
icon: slack
@@ -259,6 +273,14 @@ jobs:
vars:
ci-image-name: ci-image-jdk17
<<: *docker-hub-mirror-vars
- task: build-ci-image-jdk18
privileged: true
file: git-repo/ci/tasks/build-ci-image.yml
output_mapping:
image: ci-image-jdk18
vars:
ci-image-name: ci-image-jdk18
<<: *docker-hub-mirror-vars
- in_parallel:
- put: ci-image
params:
@@ -269,6 +291,9 @@ jobs:
- put: ci-image-jdk17
params:
image: ci-image-jdk17/image.tar
- put: ci-image-jdk18
params:
image: ci-image-jdk18/image.tar
- name: detect-jdk-updates
plan:
- get: git-repo
@@ -294,6 +319,12 @@ jobs:
params:
<<: *github-task-params
JDK_VERSION: java17
- task: detect-jdk18-update
image: ci-image
file: git-repo/ci/tasks/detect-jdk-updates.yml
params:
<<: *github-task-params
JDK_VERSION: java18
- name: detect-ubuntu-image-updates
plan:
- get: git-repo
@@ -438,6 +469,38 @@ jobs:
- put: slack-alert
params:
<<: *slack-success-params
- name: jdk18-build
serial: true
public: true
plan:
- get: ci-image-jdk18
- get: git-repo
trigger: true
- put: repo-status-jdk18-build
params: { state: "pending", commit: "git-repo" }
- do:
- task: build-project
image: ci-image-jdk18
privileged: true
timeout: ((task-timeout))
file: git-repo/ci/tasks/build-project.yml
params:
BRANCH: ((branch))
TOOLCHAIN_JAVA_VERSION: 18
<<: *gradle-enterprise-task-params
<<: *docker-hub-task-params
on_failure:
do:
- put: repo-status-jdk18-build
params: { state: "failure", commit: "git-repo" }
- put: slack-alert
params:
<<: *slack-fail-params
- put: repo-status-jdk18-build
params: { state: "success", commit: "git-repo" }
- put: slack-alert
params:
<<: *slack-success-params
- name: windows-build
serial: true
plan:
@@ -691,7 +754,7 @@ jobs:
repository: updated-homebrew-tap-repo
groups:
- name: "builds"
jobs: ["build", "jdk11-build", "jdk17-build", "windows-build"]
jobs: ["build", "jdk11-build", "jdk17-build", "jdk18-build", "windows-build"]
- name: "releases"
jobs: ["stage-milestone", "stage-rc", "stage-release", "promote-milestone", "promote-rc", "promote-release", "create-github-release", "publish-gradle-plugin", "publish-to-sdkman", "update-homebrew-tap"]
- name: "ci-images"

View File

@@ -20,6 +20,10 @@ case "$JDK_VERSION" in
BASE_URL="https://api.adoptium.net/v3/assets/feature_releases/17/ga"
ISSUE_TITLE="Upgrade Java 17 version in CI image"
;;
java18)
BASE_URL="https://api.adoptium.net/v3/assets/feature_releases/18/ea"
ISSUE_TITLE="Upgrade Java 18 version in CI image"
;;
*)
echo $"Unknown java version"
exit 1;