--- resource_types: - name: artifactory-resource type: docker-image source: repository: springio/artifactory-resource tag: 0.0.6 - name: github-status type: docker-image source: repository: dpb587/github-status-resource tag: master - name: pull-request type: docker-image source: repository: jtarchie/pr tag: latest - name: slack-notification type: docker-image source: repository: nebhale/slack-notification-resource resources: - name: openjdk:8-jdk type: docker-image source: repository: openjdk tag: 8-jdk - name: openjdk:11-jdk type: docker-image source: repository: openjdk tag: 11-jdk - name: openjdk:12-jdk type: docker-image source: repository: openjdk tag: 12-jdk - name: spring-session-data-mongodb-github type: git source: uri: https://github.com/spring-projects/spring-session-data-mongodb.git branch: ((branch)) - name: spring-session-data-mongodb-artifactory type: artifactory-resource source: uri: https://repo.spring.io username: ((artifactory-username)) password: ((artifactory-password)) build_name: spring-session-data-mongodb - name: spring-session-data-mongodb-pull-requests type: pull-request source: access_token: ((github-access-token)) repo: spring-projects/spring-session-data-mongodb base: ((branch)) - name: spring-session-data-mongodb-release type: git source: uri: https://github.com/spring-projects/spring-session-data-mongodb.git branch: ((release-branch)) - name: spring-session-data-mongodb-status type: github-status source: access_token: ((github-access-token)) repository: spring-projects/spring-session-data-mongodb branch: ((branch)) - name: slack type: slack-notification source: url: ((slack)) groups: - name: spring-session-data-mongodb jobs: - Test - JDK 8 - Test - JDK 8 and Spring.NEXT - Test - JDK 11 - Test - JDK 11 and Spring.NEXT - Test - JDK 12 - Test - JDK 12 and Spring.NEXT - Build - name: pull-requests jobs: - spring-session-data-mongodb-pull-requests - name: release jobs: - release-to-artifactory - promote-to-bintray - sync-to-maven-central jobs: - name: Test - JDK 8 serial: true public: true plan: - get: spring-session-data-mongodb-github trigger: true - get: openjdk:8-jdk trigger: true - task: test file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "convergence" } <<: *slack-success <<: *slack-failure - name: Test - JDK 8 and Spring.NEXT serial: true public: true plan: - get: spring-session-data-mongodb-github trigger: true - get: openjdk:8-jdk trigger: true - task: test file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "spring-next,convergence" } <<: *slack-success <<: *slack-failure - name: Test - JDK 11 serial: true public: true plan: - get: spring-session-data-mongodb-github trigger: true - get: openjdk:11-jdk trigger: true - task: test image: openjdk:11-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "convergence" } <<: *slack-success <<: *slack-failure - name: Test - JDK 11 and Spring.NEXT serial: true public: true plan: - get: spring-session-data-mongodb-github trigger: true - get: openjdk:11-jdk trigger: true - task: test image: openjdk:11-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "spring-next,convergence" } <<: *slack-success <<: *slack-failure - name: Test - JDK 12 serial: true public: true plan: - get: spring-session-data-mongodb-github trigger: true - get: openjdk:12-jdk trigger: true - task: test image: openjdk:12-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "convergence" } <<: *slack-success <<: *slack-failure - name: Test - JDK 12 and Spring.NEXT serial: true public: true plan: - get: spring-session-data-mongodb-github trigger: true - get: openjdk:12-jdk trigger: true - task: test image: openjdk:12-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "spring-next,convergence" } <<: *slack-success <<: *slack-failure - name: Build serial: true public: true plan: - get: spring-session-data-mongodb-github trigger: true passed: [ Test - JDK 8, Test - JDK 8 and Spring.NEXT, Test - JDK 11, Test - JDK 11 and Spring.NEXT, Test - JDK 12, Test - JDK 12 and Spring.NEXT ] - put: spring-session-data-mongodb-status params: commit: spring-session-data-mongodb-github state: pending - task: build file: spring-session-data-mongodb-github/ci/build.yml - put: spring-session-data-mongodb-artifactory params: build_number: ${BUILD_NAME} build_uri: ${ATC_EXTERNAL_URL}/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME} repo: libs-snapshot-local folder: spring-session-data-mongodb-artifactory artifact_set: - include: - "/**" properties: zip.deployed: false zip.displayname: "Spring Session Data MongoDB" zip.name: "spring-session-data-mongodb" zip.type: "docs" on_failure: aggregate: - put: spring-session-data-mongodb-status params: commit: spring-session-data-mongodb-github state: failure - put: slack params: attachments: - color: danger fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME " text: "Build has failed" title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME on_success: aggregate: - put: spring-session-data-mongodb-status params: commit: spring-session-data-mongodb-github state: success - put: slack params: attachments: - color: good fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME " text: "Build has succeeded!" title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME - name: spring-session-data-mongodb-pull-requests public: true plan: - get: spring-session-data-mongodb-github resource: spring-session-data-mongodb-pull-requests trigger: true version: every - get: openjdk:11-jdk - get: openjdk:12-jdk - put: spring-session-data-mongodb-pull-requests params: path: spring-session-data-mongodb-github status: pending - aggregate: - task: test (JDK 8) file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "convergence" } - task: test (JDK 8 and Spring.NEXT) file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "spring-next,convergence" } - task: test (JDK 11) image: openjdk:11-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "convergence" } - task: test (JDK 11 and Spring.NEXT) image: openjdk:11-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "spring-next,convergence" } - task: test (JDK 12) image: openjdk:12-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "convergence" } - task: test (JDK 12 and Spring.NEXT) image: openjdk:12-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "spring-next,convergence" } on_failure: aggregate: - put: spring-session-data-mongodb-pull-requests params: path: spring-session-data-mongodb-github status: failure - put: slack params: attachments: - color: danger fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME " text: "Pull request has failed" title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME on_success: aggregate: - put: spring-session-data-mongodb-pull-requests params: path: spring-session-data-mongodb-github status: success - put: slack params: attachments: - color: good fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME " text: "Pull request has succeeded!" title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME - name: release-to-artifactory serial: true public: true plan: - get: spring-session-data-mongodb-github resource: spring-session-data-mongodb-release trigger: true - put: spring-session-data-mongodb-status params: commit: spring-session-data-mongodb-release state: pending - task: build file: spring-session-data-mongodb-github/ci/build.yml - put: spring-session-data-mongodb-artifactory params: build_number: ${BUILD_NAME} build_uri: ${ATC_EXTERNAL_URL}/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME} repo: libs-release-local folder: spring-session-data-mongodb-artifactory artifact_set: - include: - "/**" properties: zip.deployed: false zip.displayname: "Spring Session Data MongoDB" zip.name: "spring-session-data-mongodb" zip.type: "docs" on_failure: aggregate: - put: spring-session-data-mongodb-status params: commit: spring-session-data-mongodb-github state: failure - put: slack params: attachments: - color: danger fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME " text: "Releasing to artifactory has failed" title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME on_success: aggregate: - put: spring-session-data-mongodb-status params: commit: spring-session-data-mongodb-github state: success - put: slack params: attachments: - color: good fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME " text: "Releasing to artifactory has succeeded!" title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME - name: promote-to-bintray serial: true plan: - get: spring-session-data-mongodb-github resource: spring-session-data-mongodb-release - get: spring-session-data-mongodb-artifactory trigger: true passed: [release-to-artifactory] params: save_build_info: true - task: promote-to-bintray file: spring-session-data-mongodb-github/ci/promote-to-bintray.yml params: ARTIFACTORY_USERNAME: ((artifactory-username)) ARTIFACTORY_PASSWORD: ((artifactory-password)) on_failure: aggregate: - put: spring-session-data-mongodb-status params: commit: spring-session-data-mongodb-github state: failure - put: slack params: attachments: - color: danger fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME " text: "Promoting to bintray has failed" title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME on_success: aggregate: - put: spring-session-data-mongodb-status params: commit: spring-session-data-mongodb-github state: success - put: slack params: attachments: - color: good fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME " text: "Promoting to bintray has succeeded!" title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME - name: sync-to-maven-central serial: true plan: - get: spring-session-data-mongodb-github resource: spring-session-data-mongodb-release - get: spring-session-data-mongodb-artifactory trigger: true passed: [promote-to-bintray] params: save_build_info: true - task: sync-to-maven-central file: spring-session-data-mongodb-github/ci/sync-to-maven-central.yml params: BINTRAY_USERNAME: ((bintray-username)) BINTRAY_API_KEY: ((bintray-api-key)) SONATYPE_USER_TOKEN: ((sonatype-user-token)) SONATYPE_PASSWORD_TOKEN: ((sonatype-user-token-password)) ARTIFACTORY_USERNAME: ((artifactory-username)) ARTIFACTORY_PASSWORD: ((artifactory-password)) on_failure: aggregate: - put: spring-session-data-mongodb-status params: commit: spring-session-data-mongodb-github state: failure - put: slack params: attachments: - color: danger fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME " text: "Syncing to maven central has failed" title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME on_success: aggregate: - put: spring-session-data-mongodb-status params: commit: spring-session-data-mongodb-github state: success - put: slack params: attachments: - color: good fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME " text: "Syncing to maven central has succeeded!" title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME slack-failure: &slack-failure on_failure: put: slack params: attachments: - color: danger fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME " text: "Test has failed" title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME slack-success: &slack-success on_success: put: slack params: attachments: - color: good fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME " text: "Test has succeeded" title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME