Polish CI pipeline
This commit is contained in:
parent
ed71fe0460
commit
f6d3d9d6e6
|
@ -1,9 +1,9 @@
|
||||||
spring:
|
|
||||||
main:
|
|
||||||
banner-mode: off
|
|
||||||
logging:
|
logging:
|
||||||
level:
|
level:
|
||||||
io.spring.concourse: DEBUG
|
io.spring.concourse: DEBUG
|
||||||
|
spring:
|
||||||
|
main:
|
||||||
|
banner-mode: off
|
||||||
sonatype:
|
sonatype:
|
||||||
exclude:
|
exclude:
|
||||||
- 'build-info\.json'
|
- 'build-info\.json'
|
||||||
|
|
|
@ -6,6 +6,7 @@ github-repo-name: "spring-projects/spring-framework"
|
||||||
docker-hub-organization: "springci"
|
docker-hub-organization: "springci"
|
||||||
artifactory-server: "https://repo.spring.io"
|
artifactory-server: "https://repo.spring.io"
|
||||||
branch: "master"
|
branch: "master"
|
||||||
|
milestone: "5.3.x"
|
||||||
build-name: "spring-framework"
|
build-name: "spring-framework"
|
||||||
pipeline-name: "spring-framework"
|
pipeline-name: "spring-framework"
|
||||||
concourse-url: "https://ci.spring.io"
|
concourse-url: "https://ci.spring.io"
|
||||||
|
|
130
ci/pipeline.yml
130
ci/pipeline.yml
|
@ -1,16 +1,32 @@
|
||||||
anchors:
|
anchors:
|
||||||
artifactory-task-params: &artifactory-task-params
|
git-repo-resource-source: &git-repo-resource-source
|
||||||
ARTIFACTORY_SERVER: ((artifactory-server))
|
uri: ((github-repo))
|
||||||
ARTIFACTORY_USERNAME: ((artifactory-username))
|
username: ((github-username))
|
||||||
ARTIFACTORY_PASSWORD: ((artifactory-password))
|
password: ((github-password))
|
||||||
docker-resource-source: &docker-resource-source
|
branch: ((branch))
|
||||||
username: ((docker-hub-username))
|
|
||||||
password: ((docker-hub-password))
|
|
||||||
tag: 5.3.x
|
|
||||||
gradle-enterprise-task-params: &gradle-enterprise-task-params
|
gradle-enterprise-task-params: &gradle-enterprise-task-params
|
||||||
GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key))
|
GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key))
|
||||||
GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username))
|
GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username))
|
||||||
GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password))
|
GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password))
|
||||||
|
sonatype-task-params: &sonatype-task-params
|
||||||
|
SONATYPE_USER_TOKEN: ((sonatype-user-token))
|
||||||
|
SONATYPE_PASSWORD_TOKEN: ((sonatype-user-token-password))
|
||||||
|
SONATYPE_URL: ((sonatype-url))
|
||||||
|
SONATYPE_STAGING_PROFILE_ID: ((sonatype-staging-profile-id))
|
||||||
|
artifactory-task-params: &artifactory-task-params
|
||||||
|
ARTIFACTORY_SERVER: ((artifactory-server))
|
||||||
|
ARTIFACTORY_USERNAME: ((artifactory-username))
|
||||||
|
ARTIFACTORY_PASSWORD: ((artifactory-password))
|
||||||
|
build-project-task-params: &build-project-task-params
|
||||||
|
privileged: true
|
||||||
|
timeout: ((task-timeout))
|
||||||
|
params:
|
||||||
|
BRANCH: ((branch))
|
||||||
|
<<: *gradle-enterprise-task-params
|
||||||
|
docker-resource-source: &docker-resource-source
|
||||||
|
username: ((docker-hub-username))
|
||||||
|
password: ((docker-hub-password))
|
||||||
|
tag: ((milestone))
|
||||||
slack-fail-params: &slack-fail-params
|
slack-fail-params: &slack-fail-params
|
||||||
text: >
|
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!>
|
: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!>
|
||||||
|
@ -19,11 +35,6 @@ anchors:
|
||||||
silent: true
|
silent: true
|
||||||
icon_emoji: ":concourse:"
|
icon_emoji: ":concourse:"
|
||||||
username: concourse-ci
|
username: concourse-ci
|
||||||
sonatype-task-params: &sonatype-task-params
|
|
||||||
SONATYPE_USER_TOKEN: ((sonatype-user-token))
|
|
||||||
SONATYPE_PASSWORD_TOKEN: ((sonatype-user-token-password))
|
|
||||||
SONATYPE_URL: ((sonatype-url))
|
|
||||||
SONATYPE_STAGING_PROFILE_ID: ((sonatype-staging-profile-id))
|
|
||||||
changelog-task-params: &changelog-task-params
|
changelog-task-params: &changelog-task-params
|
||||||
name: generated-changelog/tag
|
name: generated-changelog/tag
|
||||||
tag: generated-changelog/tag
|
tag: generated-changelog/tag
|
||||||
|
@ -48,16 +59,12 @@ resource_types:
|
||||||
source:
|
source:
|
||||||
repository: cfcommunity/slack-notification-resource
|
repository: cfcommunity/slack-notification-resource
|
||||||
tag: latest
|
tag: latest
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
- name: git-repo
|
- name: git-repo
|
||||||
type: git
|
type: git
|
||||||
icon: github
|
icon: github
|
||||||
source:
|
source:
|
||||||
uri: ((github-repo))
|
<<: *git-repo-resource-source
|
||||||
username: ((github-username))
|
|
||||||
password: ((github-password))
|
|
||||||
branch: ((branch))
|
|
||||||
- name: every-morning
|
- name: every-morning
|
||||||
type: time
|
type: time
|
||||||
icon: alarm
|
icon: alarm
|
||||||
|
@ -72,24 +79,24 @@ resources:
|
||||||
uri: ((github-repo))
|
uri: ((github-repo))
|
||||||
branch: ((branch))
|
branch: ((branch))
|
||||||
paths: ["ci/images/*"]
|
paths: ["ci/images/*"]
|
||||||
- name: spring-framework-ci-image
|
- name: ci-image
|
||||||
type: docker-image
|
type: docker-image
|
||||||
icon: docker
|
icon: docker
|
||||||
source:
|
source:
|
||||||
<<: *docker-resource-source
|
<<: *docker-resource-source
|
||||||
repository: ((docker-hub-organization))/spring-framework-ci-image
|
repository: ((docker-hub-organization))/spring-framework-ci
|
||||||
- name: spring-framework-jdk11-ci-image
|
- name: ci-image-jdk11
|
||||||
type: docker-image
|
type: docker-image
|
||||||
icon: docker
|
icon: docker
|
||||||
source:
|
source:
|
||||||
<<: *docker-resource-source
|
<<: *docker-resource-source
|
||||||
repository: ((docker-hub-organization))/spring-framework-jdk11-ci-image
|
repository: ((docker-hub-organization))/spring-framework-ci-jdk11
|
||||||
- name: spring-framework-jdk15-ci-image
|
- name: ci-image-jdk15
|
||||||
type: docker-image
|
type: docker-image
|
||||||
icon: docker
|
icon: docker
|
||||||
source:
|
source:
|
||||||
<<: *docker-resource-source
|
<<: *docker-resource-source
|
||||||
repository: ((docker-hub-organization))/spring-framework-jdk15-ci-image
|
repository: ((docker-hub-organization))/spring-framework-ci-jdk15
|
||||||
- name: artifactory-repo
|
- name: artifactory-repo
|
||||||
type: artifactory-resource
|
type: artifactory-resource
|
||||||
icon: package-variant
|
icon: package-variant
|
||||||
|
@ -144,43 +151,38 @@ resources:
|
||||||
repository: spring-framework
|
repository: spring-framework
|
||||||
access_token: ((github-ci-release-token))
|
access_token: ((github-ci-release-token))
|
||||||
pre_release: false
|
pre_release: false
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- name: build-spring-framework-ci-images
|
- name: build-ci-images
|
||||||
plan:
|
plan:
|
||||||
- get: ci-images-git-repo
|
- get: ci-images-git-repo
|
||||||
trigger: true
|
trigger: true
|
||||||
- in_parallel:
|
- in_parallel:
|
||||||
- put: spring-framework-ci-image
|
- put: ci-image
|
||||||
params:
|
params:
|
||||||
build: ci-images-git-repo/ci/images
|
build: ci-images-git-repo/ci/images
|
||||||
dockerfile: ci-images-git-repo/ci/images/spring-framework-ci-image/Dockerfile
|
dockerfile: ci-images-git-repo/ci/images/ci-image/Dockerfile
|
||||||
- put: spring-framework-jdk11-ci-image
|
- put: ci-image-jdk11
|
||||||
params:
|
params:
|
||||||
build: ci-images-git-repo/ci/images
|
build: ci-images-git-repo/ci/images
|
||||||
dockerfile: ci-images-git-repo/ci/images/spring-framework-jdk11-ci-image/Dockerfile
|
dockerfile: ci-images-git-repo/ci/images/ci-image-jdk11/Dockerfile
|
||||||
- put: spring-framework-jdk15-ci-image
|
- put: ci-image-jdk15
|
||||||
params:
|
params:
|
||||||
build: ci-images-git-repo/ci/images
|
build: ci-images-git-repo/ci/images
|
||||||
dockerfile: ci-images-git-repo/ci/images/spring-framework-jdk15-ci-image/Dockerfile
|
dockerfile: ci-images-git-repo/ci/images/ci-image-jdk15/Dockerfile
|
||||||
- name: build
|
- name: build
|
||||||
serial: true
|
serial: true
|
||||||
public: true
|
public: true
|
||||||
plan:
|
plan:
|
||||||
- get: spring-framework-ci-image
|
- get: ci-image
|
||||||
- get: git-repo
|
- get: git-repo
|
||||||
trigger: true
|
trigger: true
|
||||||
- put: repo-status-build
|
- put: repo-status-build
|
||||||
params: { state: "pending", commit: "git-repo" }
|
params: { state: "pending", commit: "git-repo" }
|
||||||
- do:
|
- do:
|
||||||
- task: build-project
|
- task: build-project
|
||||||
privileged: true
|
image: ci-image
|
||||||
timeout: ((task-timeout))
|
|
||||||
image: spring-framework-ci-image
|
|
||||||
file: git-repo/ci/tasks/build-project.yml
|
file: git-repo/ci/tasks/build-project.yml
|
||||||
params:
|
<<: *build-project-task-params
|
||||||
BRANCH: ((branch))
|
|
||||||
<<: *gradle-enterprise-task-params
|
|
||||||
on_failure:
|
on_failure:
|
||||||
do:
|
do:
|
||||||
- put: repo-status-build
|
- put: repo-status-build
|
||||||
|
@ -225,7 +227,7 @@ jobs:
|
||||||
serial: true
|
serial: true
|
||||||
public: true
|
public: true
|
||||||
plan:
|
plan:
|
||||||
- get: spring-framework-jdk11-ci-image
|
- get: ci-image-jdk11
|
||||||
- get: git-repo
|
- get: git-repo
|
||||||
- get: every-morning
|
- get: every-morning
|
||||||
trigger: true
|
trigger: true
|
||||||
|
@ -233,13 +235,9 @@ jobs:
|
||||||
params: { state: "pending", commit: "git-repo" }
|
params: { state: "pending", commit: "git-repo" }
|
||||||
- do:
|
- do:
|
||||||
- task: check-project
|
- task: check-project
|
||||||
privileged: true
|
image: ci-image-jdk11
|
||||||
timeout: ((task-timeout))
|
|
||||||
image: spring-framework-jdk11-ci-image
|
|
||||||
file: git-repo/ci/tasks/check-project.yml
|
file: git-repo/ci/tasks/check-project.yml
|
||||||
params:
|
<<: *build-project-task-params
|
||||||
BRANCH: ((branch))
|
|
||||||
<<: *gradle-enterprise-task-params
|
|
||||||
on_failure:
|
on_failure:
|
||||||
do:
|
do:
|
||||||
- put: repo-status-jdk11-build
|
- put: repo-status-jdk11-build
|
||||||
|
@ -253,7 +251,7 @@ jobs:
|
||||||
serial: true
|
serial: true
|
||||||
public: true
|
public: true
|
||||||
plan:
|
plan:
|
||||||
- get: spring-framework-jdk15-ci-image
|
- get: ci-image-jdk15
|
||||||
- get: git-repo
|
- get: git-repo
|
||||||
- get: every-morning
|
- get: every-morning
|
||||||
trigger: true
|
trigger: true
|
||||||
|
@ -261,13 +259,9 @@ jobs:
|
||||||
params: { state: "pending", commit: "git-repo" }
|
params: { state: "pending", commit: "git-repo" }
|
||||||
- do:
|
- do:
|
||||||
- task: check-project
|
- task: check-project
|
||||||
privileged: true
|
image: ci-image-jdk11
|
||||||
timeout: ((task-timeout))
|
|
||||||
image: spring-framework-jdk15-ci-image
|
|
||||||
file: git-repo/ci/tasks/check-project.yml
|
file: git-repo/ci/tasks/check-project.yml
|
||||||
params:
|
<<: *build-project-task-params
|
||||||
BRANCH: ((branch))
|
|
||||||
<<: *gradle-enterprise-task-params
|
|
||||||
on_failure:
|
on_failure:
|
||||||
do:
|
do:
|
||||||
- put: repo-status-jdk15-build
|
- put: repo-status-jdk15-build
|
||||||
|
@ -280,11 +274,11 @@ jobs:
|
||||||
- name: stage-milestone
|
- name: stage-milestone
|
||||||
serial: true
|
serial: true
|
||||||
plan:
|
plan:
|
||||||
- get: spring-framework-ci-image
|
- get: ci-image
|
||||||
- get: git-repo
|
- get: git-repo
|
||||||
trigger: false
|
trigger: false
|
||||||
- task: stage
|
- task: stage
|
||||||
image: spring-framework-ci-image
|
image: ci-image
|
||||||
file: git-repo/ci/tasks/stage-version.yml
|
file: git-repo/ci/tasks/stage-version.yml
|
||||||
params:
|
params:
|
||||||
RELEASE_TYPE: M
|
RELEASE_TYPE: M
|
||||||
|
@ -299,7 +293,7 @@ jobs:
|
||||||
- name: promote-milestone
|
- name: promote-milestone
|
||||||
serial: true
|
serial: true
|
||||||
plan:
|
plan:
|
||||||
- get: spring-framework-ci-image
|
- get: ci-image
|
||||||
- get: git-repo
|
- get: git-repo
|
||||||
trigger: false
|
trigger: false
|
||||||
- get: artifactory-repo
|
- get: artifactory-repo
|
||||||
|
@ -309,7 +303,7 @@ jobs:
|
||||||
download_artifacts: false
|
download_artifacts: false
|
||||||
save_build_info: true
|
save_build_info: true
|
||||||
- task: promote
|
- task: promote
|
||||||
image: spring-framework-ci-image
|
image: ci-image
|
||||||
file: git-repo/ci/tasks/promote-version.yml
|
file: git-repo/ci/tasks/promote-version.yml
|
||||||
params:
|
params:
|
||||||
RELEASE_TYPE: M
|
RELEASE_TYPE: M
|
||||||
|
@ -325,11 +319,11 @@ jobs:
|
||||||
- name: stage-rc
|
- name: stage-rc
|
||||||
serial: true
|
serial: true
|
||||||
plan:
|
plan:
|
||||||
- get: spring-framework-ci-image
|
- get: ci-image
|
||||||
- get: git-repo
|
- get: git-repo
|
||||||
trigger: false
|
trigger: false
|
||||||
- task: stage
|
- task: stage
|
||||||
image: spring-framework-ci-image
|
image: ci-image
|
||||||
file: git-repo/ci/tasks/stage-version.yml
|
file: git-repo/ci/tasks/stage-version.yml
|
||||||
params:
|
params:
|
||||||
RELEASE_TYPE: RC
|
RELEASE_TYPE: RC
|
||||||
|
@ -344,7 +338,7 @@ jobs:
|
||||||
- name: promote-rc
|
- name: promote-rc
|
||||||
serial: true
|
serial: true
|
||||||
plan:
|
plan:
|
||||||
- get: spring-framework-ci-image
|
- get: ci-image
|
||||||
- get: git-repo
|
- get: git-repo
|
||||||
trigger: false
|
trigger: false
|
||||||
- get: artifactory-repo
|
- get: artifactory-repo
|
||||||
|
@ -354,7 +348,7 @@ jobs:
|
||||||
download_artifacts: false
|
download_artifacts: false
|
||||||
save_build_info: true
|
save_build_info: true
|
||||||
- task: promote
|
- task: promote
|
||||||
image: spring-framework-ci-image
|
image: ci-image
|
||||||
file: git-repo/ci/tasks/promote-version.yml
|
file: git-repo/ci/tasks/promote-version.yml
|
||||||
params:
|
params:
|
||||||
RELEASE_TYPE: RC
|
RELEASE_TYPE: RC
|
||||||
|
@ -370,11 +364,11 @@ jobs:
|
||||||
- name: stage-release
|
- name: stage-release
|
||||||
serial: true
|
serial: true
|
||||||
plan:
|
plan:
|
||||||
- get: spring-framework-ci-image
|
- get: ci-image
|
||||||
- get: git-repo
|
- get: git-repo
|
||||||
trigger: false
|
trigger: false
|
||||||
- task: stage
|
- task: stage
|
||||||
image: spring-framework-ci-image
|
image: ci-image
|
||||||
file: git-repo/ci/tasks/stage-version.yml
|
file: git-repo/ci/tasks/stage-version.yml
|
||||||
params:
|
params:
|
||||||
RELEASE_TYPE: RELEASE
|
RELEASE_TYPE: RELEASE
|
||||||
|
@ -389,7 +383,7 @@ jobs:
|
||||||
- name: promote-release
|
- name: promote-release
|
||||||
serial: true
|
serial: true
|
||||||
plan:
|
plan:
|
||||||
- get: spring-framework-ci-image
|
- get: ci-image
|
||||||
- get: git-repo
|
- get: git-repo
|
||||||
trigger: false
|
trigger: false
|
||||||
- get: artifactory-repo
|
- get: artifactory-repo
|
||||||
|
@ -399,7 +393,7 @@ jobs:
|
||||||
download_artifacts: false
|
download_artifacts: false
|
||||||
save_build_info: true
|
save_build_info: true
|
||||||
- task: promote
|
- task: promote
|
||||||
image: spring-framework-ci-image
|
image: ci-image
|
||||||
file: git-repo/ci/tasks/promote-version.yml
|
file: git-repo/ci/tasks/promote-version.yml
|
||||||
params:
|
params:
|
||||||
RELEASE_TYPE: RELEASE
|
RELEASE_TYPE: RELEASE
|
||||||
|
@ -408,7 +402,7 @@ jobs:
|
||||||
- name: create-github-release
|
- name: create-github-release
|
||||||
serial: true
|
serial: true
|
||||||
plan:
|
plan:
|
||||||
- get: spring-framework-ci-image
|
- get: ci-image
|
||||||
- get: git-repo
|
- get: git-repo
|
||||||
- get: artifactory-repo
|
- get: artifactory-repo
|
||||||
trigger: true
|
trigger: true
|
||||||
|
@ -429,6 +423,6 @@ groups:
|
||||||
- name: "builds"
|
- name: "builds"
|
||||||
jobs: ["build", "jdk11-build", "jdk15-build"]
|
jobs: ["build", "jdk11-build", "jdk15-build"]
|
||||||
- name: "releases"
|
- name: "releases"
|
||||||
jobs: ["stage-milestone", "stage-rc", "stage-release", "promote-milestone","promote-rc", "promote-release", "create-github-release"]
|
jobs: ["stage-milestone", "stage-rc", "stage-release", "promote-milestone", "promote-rc", "promote-release", "create-github-release"]
|
||||||
- name: "ci-images"
|
- name: "ci-images"
|
||||||
jobs: ["build-spring-framework-ci-images"]
|
jobs: ["build-ci-images"]
|
||||||
|
|
|
@ -4,7 +4,6 @@ set -e
|
||||||
CONFIG_DIR=git-repo/ci/config
|
CONFIG_DIR=git-repo/ci/config
|
||||||
version=$( cat artifactory-repo/build-info.json | jq -r '.buildInfo.modules[0].id' | sed 's/.*:.*:\(.*\)/\1/' )
|
version=$( cat artifactory-repo/build-info.json | jq -r '.buildInfo.modules[0].id' | sed 's/.*:.*:\(.*\)/\1/' )
|
||||||
|
|
||||||
|
|
||||||
java -jar /github-changelog-generator.jar \
|
java -jar /github-changelog-generator.jar \
|
||||||
--spring.config.location=${CONFIG_DIR}/changelog-generator.yml \
|
--spring.config.location=${CONFIG_DIR}/changelog-generator.yml \
|
||||||
${version} generated-changelog/changelog.md
|
${version} generated-changelog/changelog.md
|
||||||
|
|
Loading…
Reference in New Issue