From 9a94fb3464d3d86da036a6086c419621fff343f7 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Thu, 16 Aug 2018 16:19:44 +0200 Subject: [PATCH] Add ci build for Java 11 Closes gh-14028 --- .../spring-boot-jdk11-ci-image/Dockerfile | 33 ++++++++++ ci/pipeline.yml | 65 ++++++++++++++++++- 2 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 ci/images/spring-boot-jdk11-ci-image/Dockerfile diff --git a/ci/images/spring-boot-jdk11-ci-image/Dockerfile b/ci/images/spring-boot-jdk11-ci-image/Dockerfile new file mode 100644 index 0000000000..a15a764166 --- /dev/null +++ b/ci/images/spring-boot-jdk11-ci-image/Dockerfile @@ -0,0 +1,33 @@ +FROM openjdk:11-ea-24-jdk + +RUN apt-get update && \ + apt-get install -y git && \ + apt-get install -y libxml2-utils && \ + apt-get install -y jq + +ADD https://raw.githubusercontent.com/spring-io/concourse-java-scripts/v0.0.2/concourse-java.sh /opt/ + +ENV DOCKER_VERSION=17.05.0-ce \ + ENTRYKIT_VERSION=0.4.0 + +RUN apt-get update && \ + apt-get install -y curl && \ + apt-get install -y libudev1 && \ + apt-get install -y iptables && \ + curl https://get.docker.com/builds/Linux/x86_64/docker-${DOCKER_VERSION}.tgz | tar zx && \ + mv /docker/* /bin/ && chmod +x /bin/docker* + +# Install entrykit +RUN curl -L https://github.com/progrium/entrykit/releases/download/v${ENTRYKIT_VERSION}/entrykit_${ENTRYKIT_VERSION}_Linux_x86_64.tgz | tar zx && \ + chmod +x entrykit && \ + mv entrykit /bin/entrykit && \ + entrykit --symlink + +ADD https://raw.githubusercontent.com/spring-projects/spring-boot/master/ci/images/docker-lib.sh /docker-lib.sh + +ENTRYPOINT [ \ + "switch", \ + "shell=/bin/sh", "--", \ + "codep", \ + "/bin/docker daemon" \ +] \ No newline at end of file diff --git a/ci/pipeline.yml b/ci/pipeline.yml index 5823c364d1..ea7ea75dcf 100644 --- a/ci/pipeline.yml +++ b/ci/pipeline.yml @@ -61,6 +61,13 @@ resources: username: ((docker-hub-username)) password: ((docker-hub-password)) tag: ((branch)) +- name: spring-boot-jdk11-ci-image + type: docker-image + source: + repository: ((docker-hub-organization))/spring-boot-jdk11-ci-image + username: ((docker-hub-username)) + password: ((docker-hub-password)) + tag: ((branch)) - name: artifactory-repo type: artifactory-resource source: @@ -89,6 +96,13 @@ resources: access_token: ((github-access-token)) branch: ((branch)) context: jdk10-build +- name: repo-status-jdk11-build + type: github-status-resource + source: + repository: ((github-repo-name)) + access_token: ((github-access-token)) + branch: ((branch)) + context: jdk11-build - name: slack-alert type: slack-notification source: @@ -107,6 +121,9 @@ jobs: - put: spring-boot-jdk10-ci-image params: build: ci-images-git-repo/ci/images/spring-boot-jdk10-ci-image + - put: spring-boot-jdk11-ci-image + params: + build: ci-images-git-repo/ci/images/spring-boot-jdk11-ci-image - name: build serial: true public: true @@ -301,6 +318,52 @@ jobs: silent: true icon_emoji: ":concourse:" username: concourse-ci +- name: jdk11-build + serial: true + public: true + plan: + - get: spring-boot-jdk11-ci-image + - get: git-repo + trigger: true + - put: repo-status-jdk11-build + params: { state: "pending", commit: "git-repo" } + - do: + - task: build-project + privileged: true + timeout: 1h30m + image: spring-boot-jdk11-ci-image + file: git-repo/ci/tasks/build-project.yml + - aggregate: + - task: build-samples + timeout: 1h30m + image: spring-boot-jdk11-ci-image + file: git-repo/ci/tasks/build-samples.yml + - task: build-integration-tests + timeout: 1h30m + image: spring-boot-jdk11-ci-image + file: git-repo/ci/tasks/build-integration-tests.yml + - task: build-deployment-tests + timeout: 1h30m + image: spring-boot-jdk11-ci-image + file: git-repo/ci/tasks/build-deployment-tests.yml + on_failure: + do: + - put: repo-status-jdk11-build + params: { state: "failure", commit: "git-repo" } + - put: slack-alert + params: + text: ":concourse-failed: " + silent: true + icon_emoji: ":concourse:" + username: concourse-ci + - put: repo-status-jdk11-build + params: { state: "success", commit: "git-repo" } + - put: slack-alert + params: + text: ":concourse-succeeded: " + silent: true + icon_emoji: ":concourse:" + username: concourse-ci - name: stage-milestone serial: true plan: @@ -436,7 +499,7 @@ jobs: BINTRAY_REPO: ((bintray-repo)) groups: - name: "Build" - jobs: ["build", "jdk9-build", "jdk10-build"] + jobs: ["build", "jdk9-build", "jdk10-build", "jdk11-build"] - name: "Release" jobs: ["stage-milestone", "stage-rc", "stage-release", "promote-milestone", "promote-rc", "promote-release", "sync-to-maven-central"] - name: "CI Images"