Add CI on JDK 21

pull/35890/head
Andy Wilkinson 1 year ago
parent a732f0dfb2
commit f562ced79a

@ -0,0 +1,11 @@
FROM ubuntu:jammy-20230425
ADD setup.sh /setup.sh
ADD get-jdk-url.sh /get-jdk-url.sh
ADD get-docker-url.sh /get-docker-url.sh
ADD get-docker-compose-url.sh /get-docker-compose-url.sh
RUN ./setup.sh java17 java21
ENV JAVA_HOME /opt/openjdk
ENV PATH $JAVA_HOME/bin:$PATH
ADD docker-lib.sh /docker-lib.sh

@ -8,6 +8,9 @@ case "$1" in
java20) java20)
echo "https://github.com/bell-sw/Liberica/releases/download/20.0.1+10/bellsoft-jdk20.0.1+10-linux-amd64.tar.gz" echo "https://github.com/bell-sw/Liberica/releases/download/20.0.1+10/bellsoft-jdk20.0.1+10-linux-amd64.tar.gz"
;; ;;
java21)
echo "https://download.java.net/java/early_access/jdk21/25/GPL/openjdk-21-ea+25_linux-x64_bin.tar.gz"
;;
*) *)
echo $"Unknown java version" echo $"Unknown java version"
exit 1 exit 1

@ -175,6 +175,12 @@ resources:
source: source:
<<: *ci-registry-image-resource-source <<: *ci-registry-image-resource-source
repository: ((docker-hub-organization))/spring-boot-ci-jdk20 repository: ((docker-hub-organization))/spring-boot-ci-jdk20
- name: ci-image-jdk21
type: registry-image
icon: docker
source:
<<: *ci-registry-image-resource-source
repository: ((docker-hub-organization))/spring-boot-ci-jdk21
- name: paketo-builder-base-image - name: paketo-builder-base-image
type: registry-image type: registry-image
icon: docker icon: docker
@ -207,6 +213,14 @@ resources:
access_token: ((github-ci-status-token)) access_token: ((github-ci-status-token))
branch: ((branch)) branch: ((branch))
context: jdk20-build context: jdk20-build
- name: repo-status-jdk21-build
type: github-status-resource
icon: eye-check-outline
source:
repository: ((github-repo-name))
access_token: ((github-ci-status-token))
branch: ((branch))
context: jdk21-build
- name: slack-alert - name: slack-alert
type: slack-notification type: slack-notification
icon: slack icon: slack
@ -249,6 +263,13 @@ jobs:
image: ci-image-jdk20 image: ci-image-jdk20
vars: vars:
ci-image-name: ci-image-jdk20 ci-image-name: ci-image-jdk20
- task: build-ci-image-jdk21
privileged: true
file: git-repo/ci/tasks/build-ci-image.yml
output_mapping:
image: ci-image-jdk21
vars:
ci-image-name: ci-image-jdk21
- in_parallel: - in_parallel:
- put: ci-image - put: ci-image
params: params:
@ -256,6 +277,9 @@ jobs:
- put: ci-image-jdk20 - put: ci-image-jdk20
params: params:
image: ci-image-jdk20/image.tar image: ci-image-jdk20/image.tar
- put: ci-image-jdk21
params:
image: ci-image-jdk21/image.tar
- name: detect-jdk-updates - name: detect-jdk-updates
plan: plan:
- get: git-repo - get: git-repo
@ -366,6 +390,38 @@ jobs:
- put: slack-alert - put: slack-alert
params: params:
<<: *slack-success-params <<: *slack-success-params
- name: jdk21-build
serial: true
public: true
plan:
- get: ci-image-jdk21
- get: git-repo
trigger: true
- put: repo-status-jdk21-build
params: { state: "pending", commit: "git-repo" }
- do:
- task: build-project
image: ci-image-jdk21
privileged: true
timeout: ((task-timeout))
file: git-repo/ci/tasks/build-project.yml
params:
BRANCH: ((branch))
TOOLCHAIN_JAVA_VERSION: 21
<<: *gradle-enterprise-task-params
<<: *docker-hub-task-params
on_failure:
do:
- put: repo-status-jdk21-build
params: { state: "failure", commit: "git-repo" }
- put: slack-alert
params:
<<: *slack-fail-params
- put: repo-status-jdk21-build
params: { state: "success", commit: "git-repo" }
- put: slack-alert
params:
<<: *slack-success-params
- name: windows-build - name: windows-build
serial: true serial: true
plan: plan:
@ -662,13 +718,42 @@ jobs:
- put: slack-alert - put: slack-alert
params: params:
<<: *slack-success-params <<: *slack-success-params
- name: jdk21-run-system-tests
serial: true
public: true
plan:
- get: ci-image-jdk21
- get: git-repo
- get: paketo-builder-base-image
trigger: true
- get: daily
trigger: true
- do:
- task: run-system-tests
image: ci-image-jdk21
privileged: true
timeout: ((task-timeout))
file: git-repo/ci/tasks/run-system-tests.yml
params:
BRANCH: ((branch))
TOOLCHAIN_JAVA_VERSION: 21
<<: *gradle-enterprise-task-params
<<: *docker-hub-task-params
on_failure:
do:
- put: slack-alert
params:
<<: *slack-fail-params
- put: slack-alert
params:
<<: *slack-success-params
groups: groups:
- name: "builds" - name: "builds"
jobs: ["build", "jdk20-build", "windows-build"] jobs: ["build", "jdk20-build", "jdk21-build", "windows-build"]
- name: "releases" - 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"] 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: "system-tests" - name: "system-tests"
jobs: ["run-system-tests", "jdk20-run-system-tests"] jobs: ["run-system-tests", "jdk20-run-system-tests", "jdk21-run-system-tests"]
- name: "ci-images" - name: "ci-images"
jobs: ["build-ci-images", "detect-docker-updates", "detect-jdk-updates", "detect-ubuntu-image-updates"] jobs: ["build-ci-images", "detect-docker-updates", "detect-jdk-updates", "detect-ubuntu-image-updates"]

Loading…
Cancel
Save