resource_types: - name: artifactory-resource type: docker-image source: repository: springio/artifactory-resource tag: 0.0.12-SNAPSHOT - name: github-status-resource type: docker-image source: repository: dpb587/github-status-resource tag: master - name: email type: docker-image source: repository: pcfseceng/email-resource tag: 1.0.19 - name: slack-notification type: docker-image source: repository: cfcommunity/slack-notification-resource tag: latest resources: - name: git-repo type: git icon: github-circle source: uri: ((github-repo)) username: ((github-username)) password: ((github-password)) branch: ((branch)) - name: every-morning type: time icon: alarm source: start: 8:00 AM stop: 9:00 AM location: Europe/Vienna - name: ci-images-git-repo type: git icon: github-circle source: uri: ((github-repo)) branch: ((branch)) paths: ["ci/images/*"] - name: spring-framework-ci-image type: docker-image icon: docker source: repository: ((docker-hub-organization))/spring-framework-ci-image username: ((docker-hub-username)) password: ((docker-hub-password)) tag: 5.3.x - name: spring-framework-jdk11-ci-image type: docker-image icon: docker source: repository: ((docker-hub-organization))/spring-framework-jdk11-ci-image username: ((docker-hub-username)) password: ((docker-hub-password)) tag: 5.3.x - name: spring-framework-jdk14-ci-image type: docker-image icon: docker source: repository: ((docker-hub-organization))/spring-framework-jdk14-ci-image username: ((docker-hub-username)) password: ((docker-hub-password)) tag: 5.3.x - name: spring-framework-jdk15-ci-image type: docker-image icon: docker source: repository: ((docker-hub-organization))/spring-framework-jdk15-ci-image username: ((docker-hub-username)) password: ((docker-hub-password)) tag: 5.3.x - name: artifactory-repo type: artifactory-resource icon: package-variant source: uri: ((artifactory-server)) username: ((artifactory-username)) password: ((artifactory-password)) build_name: ((build-name)) - name: repo-status-build type: github-status-resource icon: eye-check-outline source: repository: ((github-repo-name)) access_token: ((github-ci-status-token)) branch: ((branch)) context: build - name: repo-status-jdk11-build type: github-status-resource icon: eye-check-outline source: repository: ((github-repo-name)) access_token: ((github-ci-status-token)) branch: ((branch)) context: jdk11-build - name: repo-status-jdk14-build type: github-status-resource icon: eye-check-outline source: repository: ((github-repo-name)) access_token: ((github-ci-status-token)) branch: ((branch)) context: jdk14-build - name: repo-status-jdk15-build type: github-status-resource icon: eye-check-outline source: repository: ((github-repo-name)) access_token: ((github-ci-status-token)) branch: ((branch)) context: jdk15-build - name: slack-alert type: slack-notification icon: slack source: url: ((slack-webhook-url)) jobs: - name: build-spring-framework-ci-images plan: - get: ci-images-git-repo trigger: true - in_parallel: - put: spring-framework-ci-image params: build: ci-images-git-repo/ci/images dockerfile: ci-images-git-repo/ci/images/spring-framework-ci-image/Dockerfile - put: spring-framework-jdk11-ci-image params: build: ci-images-git-repo/ci/images dockerfile: ci-images-git-repo/ci/images/spring-framework-jdk11-ci-image/Dockerfile - put: spring-framework-jdk14-ci-image params: build: ci-images-git-repo/ci/images dockerfile: ci-images-git-repo/ci/images/spring-framework-jdk14-ci-image/Dockerfile - put: spring-framework-jdk15-ci-image params: build: ci-images-git-repo/ci/images dockerfile: ci-images-git-repo/ci/images/spring-framework-jdk15-ci-image/Dockerfile - name: build serial: true public: true plan: - get: spring-framework-ci-image - get: git-repo trigger: true - put: repo-status-build params: { state: "pending", commit: "git-repo" } - do: - task: build-project privileged: true timeout: ((task-timeout)) image: spring-framework-ci-image file: git-repo/ci/tasks/build-project.yml params: BRANCH: ((branch)) GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key)) GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username)) GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password)) on_failure: do: - put: repo-status-build params: { state: "failure", commit: "git-repo" } - put: slack-alert params: text: > :concourse-failed: ${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} failed! [] [<$TEXT_FILE_CONTENT|build scan>] text_file: git-repo/build/build-scan-uri.txt silent: true icon_emoji: ":concourse:" username: concourse-ci - put: repo-status-build params: { state: "success", commit: "git-repo" } - put: artifactory-repo params: &artifactory-params repo: libs-snapshot-local folder: distribution-repository build_uri: "https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}" build_number: "${BUILD_PIPELINE_NAME}-${BUILD_JOB_NAME}-${BUILD_NAME}" disable_checksum_uploads: true threads: 8 artifact_set: - include: - "/**/spring-*.zip" properties: "zip.name": "spring-framework" "zip.displayname": "Spring Framework" "zip.deployed": "false" - include: - "/**/spring-*-docs.zip" properties: "zip.type": "docs" - include: - "/**/spring-*-dist.zip" properties: "zip.type": "dist" - include: - "/**/spring-*-schema.zip" properties: "zip.type": "schema" get_params: threads: 8 - name: jdk11-build serial: true public: true plan: - get: spring-framework-jdk11-ci-image - get: git-repo - get: every-morning trigger: true - put: repo-status-jdk11-build params: { state: "pending", commit: "git-repo" } - do: - task: check-project privileged: true timeout: ((task-timeout)) image: spring-framework-jdk11-ci-image file: git-repo/ci/tasks/check-project.yml params: BRANCH: ((branch)) GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key)) GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username)) GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password)) on_failure: do: - put: repo-status-jdk11-build params: { state: "failure", commit: "git-repo" } - put: slack-alert params: text: > :concourse-failed: ${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} failed! [] [<$TEXT_FILE_CONTENT|build scan>] text_file: git-repo/build/build-scan-uri.txt silent: true icon_emoji: ":concourse:" username: concourse-ci - put: repo-status-jdk11-build params: { state: "success", commit: "git-repo" } - name: jdk14-build serial: true public: true plan: - get: spring-framework-jdk14-ci-image - get: git-repo - get: every-morning trigger: true - put: repo-status-jdk14-build params: { state: "pending", commit: "git-repo" } - do: - task: check-project privileged: true timeout: ((task-timeout)) image: spring-framework-jdk14-ci-image file: git-repo/ci/tasks/check-project.yml params: BRANCH: ((branch)) GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key)) GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username)) GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password)) on_failure: do: - put: repo-status-jdk14-build params: { state: "failure", commit: "git-repo" } - put: slack-alert params: text: > :concourse-failed: ${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} failed! [] [<$TEXT_FILE_CONTENT|build scan>] text_file: git-repo/build/build-scan-uri.txt silent: true icon_emoji: ":concourse:" username: concourse-ci - put: repo-status-jdk14-build params: { state: "success", commit: "git-repo" } - name: jdk15-build serial: true public: true plan: - get: spring-framework-jdk15-ci-image - get: git-repo - get: every-morning trigger: true - put: repo-status-jdk15-build params: { state: "pending", commit: "git-repo" } - do: - task: check-project privileged: true timeout: ((task-timeout)) image: spring-framework-jdk15-ci-image file: git-repo/ci/tasks/check-project.yml params: BRANCH: ((branch)) GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key)) GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username)) GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password)) on_failure: do: - put: repo-status-jdk15-build params: { state: "failure", commit: "git-repo" } - put: slack-alert params: text: > :concourse-failed: ${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} failed! [] [<$TEXT_FILE_CONTENT|build scan>] text_file: git-repo/build/build-scan-uri.txt silent: true icon_emoji: ":concourse:" username: concourse-ci - put: repo-status-jdk15-build params: { state: "success", commit: "git-repo" } - name: stage-milestone serial: true plan: - get: spring-framework-ci-image - get: git-repo trigger: false - task: stage image: spring-framework-ci-image file: git-repo/ci/tasks/stage-version.yml params: RELEASE_TYPE: M GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key)) GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username)) GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password)) - put: artifactory-repo params: <<: *artifactory-params repo: libs-staging-local - put: git-repo params: repository: stage-git-repo - name: promote-milestone serial: true plan: - get: spring-framework-ci-image - get: git-repo trigger: false - get: artifactory-repo trigger: false passed: [stage-milestone] params: download_artifacts: false save_build_info: true - task: promote image: spring-framework-ci-image file: git-repo/ci/tasks/promote-version.yml params: RELEASE_TYPE: M ARTIFACTORY_SERVER: ((artifactory-server)) ARTIFACTORY_USERNAME: ((artifactory-username)) ARTIFACTORY_PASSWORD: ((artifactory-password)) groups: - name: "Build" jobs: ["build", "jdk11-build", "jdk14-build", "jdk15-build"] - name: "Release" jobs: ["stage-milestone", "promote-milestone"] - name: "CI Images" jobs: ["build-spring-framework-ci-images"]