123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278 |
- anchors:
- gradle-enterprise-task-params: &gradle-enterprise-task-params
- 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))
- docker-hub-task-params: &docker-hub-task-params
- DOCKER_HUB_USERNAME: ((docker-hub-username))
- DOCKER_HUB_PASSWORD: ((docker-hub-password))
- build-project-task-params: &build-project-task-params
- privileged: true
- timeout: ((task-timeout))
- file: git-repo/ci/tasks/build-project.yml
- params:
- BRANCH: ((branch))
- <<: *gradle-enterprise-task-params
- <<: *docker-hub-task-params
- artifactory-task-params: &artifactory-task-params
- ARTIFACTORY_SERVER: ((artifactory-server))
- ARTIFACTORY_USERNAME: ((artifactory-username))
- ARTIFACTORY_PASSWORD: ((artifactory-password))
- artifactory-repo-put-params: &artifactory-repo-put-params
- signing_key: ((signing-key))
- signing_passphrase: ((signing-passphrase))
- 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
- resource_types:
- - name: artifactory-resource
- type: registry-image
- source:
- username: ((docker-hub-username))
- password: ((docker-hub-password))
- repository: springio/artifactory-resource
- tag: 0.0.18
- - name: github-release
- type: registry-image
- source:
- username: ((docker-hub-username))
- password: ((docker-hub-password))
- repository: concourse/github-release-resource
- tag: 1.7.0
- resources:
- - name: git-repo
- type: git
- icon: github
- source:
- uri: ((github-repo))
- username: ((github-username))
- password: ((github-password))
- branch: ((branch))
- ignore_paths: ["ci/images/*"]
- - name: github-pre-release
- type: github-release
- icon: briefcase-download-outline
- source:
- owner: spring-io
- repository: ((github-project-name))
- access_token: ((github-ci-release-token))
- pre_release: true
- - name: github-release
- type: github-release
- icon: briefcase-download
- source:
- owner: spring-io
- repository: ((github-project-name))
- access_token: ((github-ci-release-token))
- pre_release: false
- - name: ci-images-git-repo
- type: git
- icon: github
- source:
- uri: ((github-repo))
- branch: ((branch))
- paths: ["ci/images/*"]
- - name: ci-image
- type: registry-image
- icon: docker
- source:
- repository: ((docker-hub-organization))/((ci-image-name))
- username: ((docker-hub-username))
- password: ((docker-hub-password))
- tag: ((branch))
- - name: artifactory-repo
- type: artifactory-resource
- icon: package-variant
- source:
- uri: ((artifactory-server))
- username: ((artifactory-username))
- password: ((artifactory-password))
- build_name: ((build-name))
- jobs:
- - name: build-ci-image
- plan:
- - get: ci-images-git-repo
- trigger: true
- - get: git-repo
- - task: build-ci-image
- privileged: true
- file: git-repo/ci/tasks/build-ci-image.yml
- output_mapping:
- image: ci-image
- vars:
- ci-image-name: ci-image
- - put: ci-image
- params:
- image: ci-image/image.tar
- - name: build
- serial: true
- public: true
- plan:
- - get: ci-image
- - get: git-repo
- trigger: true
- - do:
- - task: build-project
- privileged: true
- image: ci-image
- <<: *build-project-task-params
- - put: artifactory-repo
- params:
- <<: *artifactory-repo-put-params
- get_params:
- threads: 8
- - name: stage-milestone
- serial: true
- plan:
- - get: ci-image
- - get: git-repo
- trigger: false
- - task: stage
- image: ci-image
- file: git-repo/ci/tasks/stage.yml
- params:
- <<: *gradle-enterprise-task-params
- <<: *docker-hub-task-params
- RELEASE_TYPE: M
- - put: artifactory-repo
- params:
- <<: *artifactory-repo-put-params
- repo: libs-staging-local
- - put: git-repo
- params:
- repository: stage-git-repo
- - name: stage-rc
- serial: true
- plan:
- - get: ci-image
- - get: git-repo
- trigger: false
- - task: stage
- image: ci-image
- file: git-repo/ci/tasks/stage.yml
- params:
- RELEASE_TYPE: RC
- <<: *gradle-enterprise-task-params
- <<: *docker-hub-task-params
- - put: artifactory-repo
- params:
- <<: *artifactory-repo-put-params
- repo: libs-staging-local
- - put: git-repo
- params:
- repository: stage-git-repo
- - name: stage-release
- serial: true
- plan:
- - get: ci-image
- - get: git-repo
- trigger: false
- - task: stage
- image: ci-image
- file: git-repo/ci/tasks/stage.yml
- params:
- RELEASE_TYPE: RELEASE
- <<: *gradle-enterprise-task-params
- <<: *docker-hub-task-params
- - put: artifactory-repo
- params:
- <<: *artifactory-repo-put-params
- repo: libs-staging-local
- - put: git-repo
- params:
- repository: stage-git-repo
- - name: promote-milestone
- serial: true
- plan:
- - get: git-repo
- trigger: false
- - get: artifactory-repo
- trigger: false
- passed: [stage-milestone]
- params:
- save_build_info: true
- - task: promote
- file: git-repo/ci/tasks/promote.yml
- params:
- RELEASE_TYPE: M
- <<: *artifactory-task-params
- - task: generate-changelog
- file: git-repo/ci/tasks/generate-changelog.yml
- params:
- RELEASE_TYPE: M
- GITHUB_USERNAME: ((github-username))
- GITHUB_TOKEN: ((github-ci-release-token))
- - put: github-pre-release
- params:
- name: generated-changelog/tag
- tag: generated-changelog/tag
- body: generated-changelog/changelog.md
- - name: promote-rc
- serial: true
- plan:
- - get: git-repo
- trigger: false
- - get: artifactory-repo
- trigger: false
- passed: [stage-rc]
- params:
- download_artifacts: false
- save_build_info: true
- - task: promote
- file: git-repo/ci/tasks/promote.yml
- params:
- RELEASE_TYPE: RC
- <<: *artifactory-task-params
- - task: generate-changelog
- file: git-repo/ci/tasks/generate-changelog.yml
- params:
- RELEASE_TYPE: RC
- GITHUB_USERNAME: ((github-username))
- GITHUB_TOKEN: ((github-ci-release-token))
- - put: github-pre-release
- params:
- name: generated-changelog/tag
- tag: generated-changelog/tag
- body: generated-changelog/changelog.md
- - name: promote-release
- serial: true
- plan:
- - get: git-repo
- trigger: false
- - get: artifactory-repo
- trigger: false
- passed: [stage-release]
- params:
- download_artifacts: true
- save_build_info: true
- - task: promote
- file: git-repo/ci/tasks/promote.yml
- params:
- RELEASE_TYPE: RELEASE
- <<: *artifactory-task-params
- SONATYPE_USERNAME: ((s01-user-token))
- SONATYPE_PASSWORD: ((s01-user-token-password))
- SONATYPE_URL: ((sonatype-url))
- SONATYPE_STAGING_PROFILE_ID: ((sonatype-staging-profile-id))
- - task: generate-changelog
- file: git-repo/ci/tasks/generate-changelog.yml
- params:
- RELEASE_TYPE: RELEASE
- GITHUB_USERNAME: ((github-username))
- GITHUB_TOKEN: ((github-ci-release-token))
- - put: github-release
- params:
- name: generated-changelog/tag
- tag: generated-changelog/tag
- body: generated-changelog/changelog.md
- groups:
- - name: "builds"
- jobs: ["build"]
- - name: "releases"
- jobs: ["stage-milestone", "stage-rc", "stage-release", "promote-milestone", "promote-rc", "promote-release"]
- - name: "ci-image"
- jobs: ["build-ci-image"]
-
|