From dfbababd111aac26d8fe20e5d6c4d375763efdc3 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 2 Mar 2018 14:18:51 +0000 Subject: [PATCH] Add a JDK 10 build to the CI pipeline Closes gh-12028 --- .../spring-boot-jdk10-ci-image/Dockerfile | 33 ++++++++++++++ ci/pipeline.yml | 43 ++++++++++++++++++- 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 ci/images/spring-boot-jdk10-ci-image/Dockerfile diff --git a/ci/images/spring-boot-jdk10-ci-image/Dockerfile b/ci/images/spring-boot-jdk10-ci-image/Dockerfile new file mode 100644 index 0000000000..39116ebbfa --- /dev/null +++ b/ci/images/spring-boot-jdk10-ci-image/Dockerfile @@ -0,0 +1,33 @@ +FROM openjdk:10-ea32-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 2f810a8b59..eca0df7673 100644 --- a/ci/pipeline.yml +++ b/ci/pipeline.yml @@ -48,6 +48,13 @@ resources: username: ((docker-hub-username)) password: ((docker-hub-password)) tag: ((branch)) +- name: spring-boot-jdk10-ci-image + type: docker-image + source: + repository: ((docker-hub-organization))/spring-boot-jdk10-ci-image + username: ((docker-hub-username)) + password: ((docker-hub-password)) + tag: ((branch)) - name: artifactory-repo type: artifactory-resource source: @@ -76,6 +83,9 @@ jobs: - put: spring-boot-jdk9-ci-image params: build: ci-images-git-repo/ci/images/spring-boot-jdk9-ci-image + - put: spring-boot-jdk10-ci-image + params: + build: ci-images-git-repo/ci/images/spring-boot-jdk10-ci-image - name: build serial: true public: true @@ -193,6 +203,37 @@ jobs: params: subject_text: "JDK 9 Build failure ${BUILD_PIPELINE_NAME} / ${BUILD_JOB_NAME} / ${BUILD_NAME}" body_text: "Build ${ATC_EXTERNAL_URL}/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME} has failed!" +- name: jdk10-build + serial: true + public: true + plan: + - get: spring-boot-jdk10-ci-image + - get: git-repo + trigger: true + - do: + - task: build-project + privileged: true + timeout: 1h30m + image: spring-boot-jdk10-ci-image + file: git-repo/ci/tasks/build-project.yml + - aggregate: + - task: build-samples + timeout: 1h30m + image: spring-boot-jdk10-ci-image + file: git-repo/ci/tasks/build-samples.yml + - task: build-integration-tests + timeout: 1h30m + image: spring-boot-jdk10-ci-image + file: git-repo/ci/tasks/build-integration-tests.yml + - task: build-deployment-tests + timeout: 1h30m + image: spring-boot-jdk10-ci-image + file: git-repo/ci/tasks/build-deployment-tests.yml + on_failure: + put: email-notification + params: + subject_text: "JDK 10 Build failure ${BUILD_PIPELINE_NAME} / ${BUILD_JOB_NAME} / ${BUILD_NAME}" + body_text: "Build ${ATC_EXTERNAL_URL}/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME} has failed!" - name: stage-milestone serial: true plan: @@ -312,7 +353,7 @@ jobs: BINTRAY_REPO: ((bintray-repo)) groups: - name: "Build" - jobs: ["build", "jdk9-build"] + jobs: ["build", "jdk9-build", "jdk10-build"] - name: "Release" jobs: ["stage-milestone", "stage-rc", "stage-release", "promote-milestone", "promote-rc", "promote-release"] - name: "CI Images"