2017-09-29 01:57:35 +08:00
resource_types :
- name : artifactory-resource
type : docker-image
source :
repository : springio/artifactory-resource
2018-11-14 01:53:36 +08:00
tag : 0.0 .5
2017-10-13 07:10:20 +08:00
- name : pull-request
type : docker-image
source :
repository : jtarchie/pr
2018-04-11 02:56:53 +08:00
- name : github-status-resource
type : docker-image
source :
repository : dpb587/github-status-resource
tag : master
2018-05-03 08:19:36 +08:00
- name : slack-notification
type : docker-image
source :
repository : cfcommunity/slack-notification-resource
tag : latest
2017-09-29 01:57:35 +08:00
resources :
- name : git-repo
type : git
2019-06-15 12:12:31 +08:00
icon : github-circle
2017-09-29 01:57:35 +08:00
source :
uri : ((github-repo))
username : ((github-username))
password : ((github-password))
branch : ((branch))
2019-06-25 06:25:05 +08:00
- name : git-repo-windows
type : git
source :
uri : ((github-repo))
username : ((github-username))
password : ((github-password))
branch : ((branch))
git_config :
- name : core.autocrlf
value : true
icon : github-circle
2017-10-13 07:10:20 +08:00
- name : git-pull-request
type : pull-request
2019-06-15 12:12:31 +08:00
icon : source-pull
2017-10-13 07:10:20 +08:00
source :
2019-06-15 13:00:58 +08:00
access_token : ((github-ci-pull-request-token))
2017-10-13 07:10:20 +08:00
repo : ((github-repo-name))
base : ((branch))
ignore_paths : [ "ci/*" ]
2018-10-20 07:08:36 +08:00
- name : github-pre-release
type : github-release
2019-06-15 12:12:31 +08:00
icon : briefcase-download-outline
2018-10-20 07:08:36 +08:00
source :
owner : spring-projects
repository : spring-boot
2019-06-15 13:00:58 +08:00
access_token : ((github-ci-release-token))
2018-10-20 07:08:36 +08:00
pre_release : true
- name : github-release
type : github-release
2019-06-15 12:12:31 +08:00
icon : briefcase-download
2018-10-20 07:08:36 +08:00
source :
owner : spring-projects
repository : spring-boot
2019-06-15 13:00:58 +08:00
access_token : ((github-ci-release-token))
2018-10-20 07:08:36 +08:00
pre_release : false
2017-09-29 01:57:35 +08:00
- name : ci-images-git-repo
type : git
2019-06-15 12:12:31 +08:00
icon : github-circle
2017-09-29 01:57:35 +08:00
source :
uri : ((github-repo))
branch : ((branch))
paths : [ "ci/images/*" ]
- name : spring-boot-ci-image
type : docker-image
2019-06-15 12:12:31 +08:00
icon : docker
2017-09-29 01:57:35 +08:00
source :
repository : ((docker-hub-organization))/spring-boot-ci-image
username : ((docker-hub-username))
password : ((docker-hub-password))
tag : ((branch))
2018-11-01 14:39:48 +08:00
- name : spring-boot-jdk11-ci-image
2018-03-02 22:18:51 +08:00
type : docker-image
2019-06-15 12:12:31 +08:00
icon : docker
2018-03-02 22:18:51 +08:00
source :
2018-11-01 14:39:48 +08:00
repository : ((docker-hub-organization))/spring-boot-jdk11-ci-image
2018-03-02 22:18:51 +08:00
username : ((docker-hub-username))
password : ((docker-hub-password))
tag : ((branch))
2017-09-29 01:57:35 +08:00
- name : artifactory-repo
type : artifactory-resource
2019-06-15 12:12:31 +08:00
icon : package-variant
2017-09-29 01:57:35 +08:00
source :
uri : ((artifactory-server))
username : ((artifactory-username))
password : ((artifactory-password))
build_name : ((build-name))
2018-04-11 02:56:53 +08:00
- name : repo-status-build
type : github-status-resource
2019-06-15 12:12:31 +08:00
icon : eye-check-outline
2018-04-11 02:56:53 +08:00
source :
repository : ((github-repo-name))
2019-06-15 13:00:58 +08:00
access_token : ((github-ci-status-token))
2018-04-11 02:56:53 +08:00
branch : ((branch))
context : build
2018-11-01 14:39:48 +08:00
- name : repo-status-jdk11-build
2018-04-11 02:56:53 +08:00
type : github-status-resource
2019-06-15 12:12:31 +08:00
icon : eye-check-outline
2018-04-11 02:56:53 +08:00
source :
repository : ((github-repo-name))
2019-06-15 13:00:58 +08:00
access_token : ((github-ci-status-token))
2018-04-11 02:56:53 +08:00
branch : ((branch))
2018-11-01 14:39:48 +08:00
context : jdk11-build
2018-05-03 08:19:36 +08:00
- name : slack-alert
type : slack-notification
2019-06-15 12:12:31 +08:00
icon : slack
2018-05-03 08:19:36 +08:00
source :
url : ((slack-webhook-url))
2018-12-11 11:20:11 +08:00
- name : every-wednesday
type : time
source :
2018-12-11 11:27:19 +08:00
start : 8 : 00 PM
stop : 9 : 00 PM
2018-12-11 11:20:11 +08:00
days : [ Wednesday]
2019-06-25 06:25:05 +08:00
- name : daily
type : time
source : { interval : "24h" }
2017-09-29 01:57:35 +08:00
jobs :
- name : build-spring-boot-ci-images
plan :
- get : ci-images-git-repo
trigger : true
2019-09-04 07:10:42 +08:00
- in_parallel :
- put : spring-boot-ci-image
params :
build : ci-images-git-repo/ci/images
dockerfile : ci-images-git-repo/ci/images/spring-boot-ci-image/Dockerfile
- put : spring-boot-jdk11-ci-image
params :
build : ci-images-git-repo/ci/images
dockerfile : ci-images-git-repo/ci/images/spring-boot-jdk11-ci-image/Dockerfile
2018-12-11 11:20:11 +08:00
- name : detect-jdk-updates
plan :
- get : git-repo
- get : every-wednesday
trigger : true
2018-12-13 04:08:21 +08:00
- get : spring-boot-ci-image
2019-06-26 08:48:57 +08:00
- in_parallel :
2018-12-11 11:20:11 +08:00
- task : detect-jdk8-update
file : git-repo/ci/tasks/detect-jdk-updates.yml
params :
GITHUB_REPO : spring-boot
GITHUB_ORGANIZATION : spring-projects
GITHUB_PASSWORD : ((github-password))
GITHUB_USERNAME : ((github-username))
JDK_VERSION : java8
image : spring-boot-ci-image
- task : detect-jdk11-update
file : git-repo/ci/tasks/detect-jdk-updates.yml
params :
GITHUB_REPO : spring-boot
GITHUB_ORGANIZATION : spring-projects
GITHUB_PASSWORD : ((github-password))
GITHUB_USERNAME : ((github-username))
JDK_VERSION : java11
image : spring-boot-ci-image
2017-09-29 01:57:35 +08:00
- name : build
serial : true
2017-11-07 07:26:46 +08:00
public : true
2017-09-29 01:57:35 +08:00
plan :
- get : spring-boot-ci-image
- get : git-repo
trigger : true
2018-04-11 02:56:53 +08:00
- put : repo-status-build
params : { state : "pending" , commit : "git-repo" }
2017-09-29 01:57:35 +08:00
- do :
- task : build-project
2018-01-04 09:23:12 +08:00
privileged : true
2019-08-01 17:46:00 +08:00
timeout : ((task-timeout))
2017-09-29 01:57:35 +08:00
image : spring-boot-ci-image
file : git-repo/ci/tasks/build-project.yml
2019-06-26 08:48:57 +08:00
- in_parallel :
2017-09-29 01:57:35 +08:00
- task : build-samples
2019-08-01 17:46:00 +08:00
timeout : ((task-timeout))
2017-09-29 01:57:35 +08:00
image : spring-boot-ci-image
file : git-repo/ci/tasks/build-samples.yml
- task : build-integration-tests
2019-08-01 17:46:00 +08:00
timeout : ((task-timeout))
2017-09-29 01:57:35 +08:00
image : spring-boot-ci-image
file : git-repo/ci/tasks/build-integration-tests.yml
- task : build-deployment-tests
2019-08-01 17:46:00 +08:00
timeout : ((task-timeout))
2017-09-29 01:57:35 +08:00
image : spring-boot-ci-image
file : git-repo/ci/tasks/build-deployment-tests.yml
on_failure :
2018-04-11 02:56:53 +08:00
do :
- put : repo-status-build
params : { state : "failure" , commit : "git-repo" }
2018-05-03 08:19:36 +08:00
- put : slack-alert
params :
2018-05-08 16:58:33 +08:00
text : ":concourse-failed: <https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}|${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} failed!>"
2018-05-03 08:19:36 +08:00
silent : true
icon_emoji : ":concourse:"
username : concourse-ci
2018-04-11 02:56:53 +08:00
- put : repo-status-build
params : { state : "success" , commit : "git-repo" }
2017-09-29 01:57:35 +08:00
- 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}"
2017-10-08 22:51:01 +08:00
disable_checksum_uploads : true
2018-03-29 04:42:41 +08:00
exclude :
2018-03-29 09:53:16 +08:00
- "**/*.effective-pom"
2017-09-29 01:57:35 +08:00
artifact_set :
- include :
- "/**/spring-boot-docs-*.zip"
properties :
2017-10-12 09:43:46 +08:00
"zip.type": "docs"
"zip.deployed": "false"
2019-07-09 02:07:09 +08:00
on_failure :
do :
- put : slack-alert
params :
text : ":concourse-failed: <https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}|${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} failed!>"
silent : true
icon_emoji : ":concourse:"
username : concourse-ci
- put : slack-alert
params :
text : ":concourse-succeeded: <https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}|${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} was successful!>"
silent : true
icon_emoji : ":concourse:"
username : concourse-ci
2017-10-13 07:10:20 +08:00
- name : build-pull-requests
serial : true
2017-11-07 07:26:46 +08:00
public : true
2017-10-13 07:10:20 +08:00
plan :
- get : spring-boot-ci-image
- get : git-repo
resource : git-pull-request
trigger : true
version : every
- do :
- put : git-pull-request
params :
path : git-repo
status : pending
- task : build-project
2019-08-01 17:46:00 +08:00
timeout : ((task-timeout))
2017-10-13 07:10:20 +08:00
image : spring-boot-ci-image
2018-01-06 02:47:37 +08:00
file : git-repo/ci/tasks/build-pr-project.yml
2019-06-26 08:48:57 +08:00
- in_parallel :
2017-10-13 07:10:20 +08:00
- task : build-samples
2019-08-01 17:46:00 +08:00
timeout : ((task-timeout))
2017-10-13 07:10:20 +08:00
image : spring-boot-ci-image
file : git-repo/ci/tasks/build-samples.yml
- task : build-integration-tests
2019-08-01 17:46:00 +08:00
timeout : ((task-timeout))
2017-10-13 07:10:20 +08:00
image : spring-boot-ci-image
file : git-repo/ci/tasks/build-integration-tests.yml
- task : build-deployment-tests
2019-08-01 17:46:00 +08:00
timeout : ((task-timeout))
2017-10-13 07:10:20 +08:00
image : spring-boot-ci-image
file : git-repo/ci/tasks/build-deployment-tests.yml
on_success :
put : git-pull-request
params :
path : git-repo
status : success
on_failure :
put : git-pull-request
params :
path : git-repo
status : failure
2018-11-01 14:32:49 +08:00
- name : jdk11-build
2018-03-02 22:18:51 +08:00
serial : true
public : true
plan :
2018-11-01 14:32:49 +08:00
- get : spring-boot-jdk11-ci-image
2018-03-02 22:18:51 +08:00
- get : git-repo
trigger : true
2018-11-01 14:32:49 +08:00
- put : repo-status-jdk11-build
2018-04-11 02:56:53 +08:00
params : { state : "pending" , commit : "git-repo" }
2018-03-02 22:18:51 +08:00
- do :
- task : build-project
privileged : true
2019-08-01 17:46:00 +08:00
timeout : ((task-timeout))
2018-11-01 14:32:49 +08:00
image : spring-boot-jdk11-ci-image
2018-03-02 22:18:51 +08:00
file : git-repo/ci/tasks/build-project.yml
2019-06-26 08:48:57 +08:00
- in_parallel :
2018-03-02 22:18:51 +08:00
- task : build-samples
2019-08-01 17:46:00 +08:00
timeout : ((task-timeout))
2018-11-01 14:32:49 +08:00
image : spring-boot-jdk11-ci-image
2018-03-02 22:18:51 +08:00
file : git-repo/ci/tasks/build-samples.yml
- task : build-integration-tests
2019-11-13 20:28:20 +08:00
timeout : ((task-timeout))
2018-11-01 14:32:49 +08:00
image : spring-boot-jdk11-ci-image
2018-03-02 22:18:51 +08:00
file : git-repo/ci/tasks/build-integration-tests.yml
- task : build-deployment-tests
2019-11-13 20:28:20 +08:00
timeout : ((task-timeout))
2018-11-01 14:32:49 +08:00
image : spring-boot-jdk11-ci-image
2018-03-02 22:18:51 +08:00
file : git-repo/ci/tasks/build-deployment-tests.yml
on_failure :
2018-04-11 02:56:53 +08:00
do :
2018-11-01 14:32:49 +08:00
- put : repo-status-jdk11-build
2018-04-11 02:56:53 +08:00
params : { state : "failure" , commit : "git-repo" }
2018-05-03 08:19:36 +08:00
- put : slack-alert
params :
2018-05-08 16:58:33 +08:00
text : ":concourse-failed: <https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}|${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} failed!>"
2018-05-03 08:19:36 +08:00
silent : true
icon_emoji : ":concourse:"
username : concourse-ci
2018-11-01 14:32:49 +08:00
- put : repo-status-jdk11-build
2018-04-11 02:56:53 +08:00
params : { state : "success" , commit : "git-repo" }
2018-05-03 08:19:36 +08:00
- put : slack-alert
params :
2018-05-08 16:58:33 +08:00
text : ":concourse-succeeded: <https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}|${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} was successful!>"
2018-05-03 08:19:36 +08:00
silent : true
icon_emoji : ":concourse:"
username : concourse-ci
2019-06-25 06:25:05 +08:00
- name : windows-build
serial : true
plan :
- get : git-repo
resource : git-repo-windows
- get : daily
trigger : true
- do :
- task : build-project
privileged : true
file : git-repo/ci/tasks/build-project-windows.yml
tags :
- WIN64
2019-08-01 17:46:00 +08:00
timeout : ((task-timeout))
2019-06-25 06:25:05 +08:00
on_failure :
do :
- put : slack-alert
params :
text : ":concourse-failed: <https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}|${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} failed!>"
silent : true
icon_emoji : ":concourse:"
username : concourse-ci
- put : slack-alert
params :
text : ":concourse-succeeded: <https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}|${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} was successful!>"
silent : true
icon_emoji : ":concourse:"
username : concourse-ci
2017-09-29 01:57:35 +08:00
- name : stage-milestone
serial : true
plan :
- get : spring-boot-ci-image
- get : git-repo
trigger : false
- task : stage
image : spring-boot-ci-image
file : git-repo/ci/tasks/stage.yml
params :
RELEASE_TYPE : M
- put : artifactory-repo
params :
<< : *artifactory-params
repo : libs-staging-local
- put : git-repo
params :
repository : stage-git-repo
- name : stage-rc
serial : true
plan :
- get : spring-boot-ci-image
- get : git-repo
trigger : false
- task : stage
image : spring-boot-ci-image
file : git-repo/ci/tasks/stage.yml
params :
RELEASE_TYPE : RC
- put : artifactory-repo
params :
<< : *artifactory-params
repo : libs-staging-local
- put : git-repo
params :
repository : stage-git-repo
- name : stage-release
serial : true
plan :
- get : spring-boot-ci-image
- get : git-repo
trigger : false
- task : stage
image : spring-boot-ci-image
file : git-repo/ci/tasks/stage.yml
params :
RELEASE_TYPE : RELEASE
- 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-boot-ci-image
- get : git-repo
trigger : false
- get : artifactory-repo
trigger : false
passed : [ stage-milestone]
params :
2019-05-15 08:10:46 +08:00
download_artifacts : false
2017-09-29 01:57:35 +08:00
save_build_info : true
- task : promote
image : spring-boot-ci-image
file : git-repo/ci/tasks/promote.yml
params :
RELEASE_TYPE : M
ARTIFACTORY_SERVER : ((artifactory-server))
ARTIFACTORY_USERNAME : ((artifactory-username))
ARTIFACTORY_PASSWORD : ((artifactory-password))
2018-10-20 07:08:36 +08:00
- task : generate-release-notes
file : git-repo/ci/tasks/generate-release-notes.yml
2018-10-06 02:39:48 +08:00
params :
RELEASE_TYPE : M
GITHUB_USERNAME : ((github-username))
2019-06-15 13:00:58 +08:00
GITHUB_TOKEN : ((github-ci-release-token))
2018-10-20 07:08:36 +08:00
- put : github-pre-release
params :
2018-11-14 02:15:50 +08:00
name : generated-release-notes/tag
tag : generated-release-notes/tag
body : generated-release-notes/release-notes.md
2017-09-29 01:57:35 +08:00
- name : promote-rc
serial : true
plan :
2018-01-31 07:02:17 +08:00
- get : spring-boot-ci-image
2017-09-29 01:57:35 +08:00
- get : git-repo
trigger : false
- get : artifactory-repo
trigger : false
passed : [ stage-rc]
params :
2019-05-15 08:10:46 +08:00
download_artifacts : false
2017-09-29 01:57:35 +08:00
save_build_info : true
- task : promote
image : spring-boot-ci-image
file : git-repo/ci/tasks/promote.yml
params :
RELEASE_TYPE : RC
ARTIFACTORY_SERVER : ((artifactory-server))
ARTIFACTORY_USERNAME : ((artifactory-username))
ARTIFACTORY_PASSWORD : ((artifactory-password))
2018-10-20 07:08:36 +08:00
- task : generate-release-notes
file : git-repo/ci/tasks/generate-release-notes.yml
2018-10-06 02:39:48 +08:00
params :
RELEASE_TYPE : RC
GITHUB_USERNAME : ((github-username))
2019-06-15 13:00:58 +08:00
GITHUB_TOKEN : ((github-ci-release-token))
2018-10-20 07:08:36 +08:00
- put : github-pre-release
params :
2018-11-14 02:15:50 +08:00
name : generated-release-notes/tag
tag : generated-release-notes/tag
body : generated-release-notes/release-notes.md
2017-09-29 01:57:35 +08:00
- name : promote-release
serial : true
plan :
2018-01-31 07:02:17 +08:00
- get : spring-boot-ci-image
2017-09-29 01:57:35 +08:00
- get : git-repo
trigger : false
- get : artifactory-repo
trigger : false
passed : [ stage-release]
params :
2019-05-15 08:10:46 +08:00
download_artifacts : false
2017-09-29 01:57:35 +08:00
save_build_info : true
- task : promote
image : spring-boot-ci-image
file : git-repo/ci/tasks/promote.yml
params :
RELEASE_TYPE : RELEASE
ARTIFACTORY_SERVER : ((artifactory-server))
ARTIFACTORY_USERNAME : ((artifactory-username))
ARTIFACTORY_PASSWORD : ((artifactory-password))
2018-03-30 06:57:37 +08:00
BINTRAY_SUBJECT : ((bintray-subject))
BINTRAY_REPO : ((bintray-repo))
2018-11-16 03:15:33 +08:00
BINTRAY_USERNAME : ((bintray-username))
BINTRAY_API_KEY : ((bintray-api-key))
2018-03-13 08:07:15 +08:00
- name : sync-to-maven-central
serial : true
plan :
- get : spring-boot-ci-image
- get : git-repo
- get : artifactory-repo
2018-07-03 04:57:34 +08:00
trigger : true
2018-03-13 08:07:15 +08:00
passed : [ promote-release]
2018-05-22 08:24:43 +08:00
params :
2019-05-15 08:10:46 +08:00
download_artifacts : false
2018-05-22 08:24:43 +08:00
save_build_info : true
2018-03-13 08:07:15 +08:00
- task : sync-to-maven-central
image : spring-boot-ci-image
file : git-repo/ci/tasks/sync-to-maven-central.yml
params :
2017-09-29 01:57:35 +08:00
BINTRAY_USERNAME : ((bintray-username))
2018-11-16 03:15:33 +08:00
BINTRAY_API_KEY : ((bintray-api-key))
2018-10-16 06:14:08 +08:00
SONATYPE_USER_TOKEN : ((sonatype-user-token))
SONATYPE_PASSWORD_TOKEN : ((sonatype-user-token-password))
2017-09-29 01:57:35 +08:00
BINTRAY_SUBJECT : ((bintray-subject))
BINTRAY_REPO : ((bintray-repo))
2019-03-23 05:23:13 +08:00
- task : generate-release-notes
file : git-repo/ci/tasks/generate-release-notes.yml
params :
RELEASE_TYPE : RELEASE
GITHUB_USERNAME : ((github-username))
2019-06-15 13:00:58 +08:00
GITHUB_TOKEN : ((github-ci-release-token))
2019-03-23 05:23:13 +08:00
- put : github-release
params :
name : generated-release-notes/tag
tag : generated-release-notes/tag
body : generated-release-notes/release-notes.md
2017-09-29 01:57:35 +08:00
groups :
- name : "Build"
2019-11-04 14:35:32 +08:00
jobs : [ "build" , "jdk11-build" , "windows-build" ]
2017-09-29 01:57:35 +08:00
- name : "Release"
2018-03-13 08:07:15 +08:00
jobs : [ "stage-milestone" , "stage-rc" , "stage-release" , "promote-milestone" , "promote-rc" , "promote-release" , "sync-to-maven-central" ]
2017-09-29 01:57:35 +08:00
- name : "CI Images"
2018-12-11 11:20:11 +08:00
jobs : [ "build-spring-boot-ci-images" , "detect-jdk-updates" ]
2017-10-13 07:10:20 +08:00
- name : "Build Pull Requests"
jobs : [ "build-pull-requests" ]