diff --git a/README.adoc b/README.adoc index 1f173d5..1bac469 100644 --- a/README.adoc +++ b/README.adoc @@ -11,73 +11,7 @@ Spring Session MongoDB provides a solution for Spring Session in a MongoDB data == Project Status -We go to great lengths to ensure smooth upgrades. We also seek to make your upgrade on major versions of Java can be as smooth -as possible. - -Check the matrix below to see the status of supported versions: - -.Spring Session for MongoDB Status -[cols=3] -|=== -| Job | `master` branch (`2.1`) | `2.0.x` branch (`2.0.x`) - -| Test - JDK 8 -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%208/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"] -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%208/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"] - -| Test - JDK 8 and Spring.NEXT -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%208%20and%20Spring.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"] -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%208%20and%20Spring.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"] - -| Test - JDK 8 and Spring.NEXT 5.1 -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%208%20and%20Spring.NEXT%205.1/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"] -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%208%20and%20Spring.NEXT%205.1/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"] - -| Test - JDK 8 and Spring Data.NEXT -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%208%20and%20Spring%20Data.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"] -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%208%20and%20Spring%20Data.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"] - -| Test - JDK 11 -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%2011/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"] -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%2011/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"] - -| Test - JDK 11 and Spring.NEXT -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%2011%20and%20Spring.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"] -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%2011%20and%20Spring.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"] - -| Test - JDK 11 and Spring.NEXT 5.1 -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%2011%20and%20Spring.NEXT%205.1/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"] -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%2011%20and%20Spring.NEXT%205.1/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"] - -| Test - JDK 11 and Spring Data.NEXT -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%2011%20and%20Spring%20Data.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"] -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%2011%20and%20Spring%20Data.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"] - -| Test - JDK 13* -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%2013/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"] -| - -| Test - JDK 13* and Spring.NEXT -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%2013%20and%20Spring.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"] -| - -| Test - JDK 13* and Spring.NEXT 5.1 -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%2013%20and%20Spring.NEXT%205.1/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"] -| - -| Test - JDK 13* and Spring Data.NEXT -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%2013%20and%20Spring%20Data.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"] -| - -| Build - Release to repo.spring.io -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Build/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"] -| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Build/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"] -|=== - -IMPORTANT: Spring Session for MongoDB 2.1 runs on Spring Framework 5.1, which has support for *JDK 11*. Spring Session for MongoDB 2.0.x runs on Spring Framework 5.0 and is NOT supported on *JDK 11* despite our pipelines testing against it. The extra -tests are designed to give you a smooth upgrade path. If you are going into production on JDK 11, should need to be using Spring Session for MongoDB 2.1. - -IMPORTANT: *JDK 12* is Java's latest version and is unstable. We are testing against it to catch issues early on, but don't support it directly on any version of Spring Session for MongoDB. +See https://github.com/spring-projects/spring-session-data-mongodb#project-status[Project Status on the master branch] for status of this version. == Building Spring Session MongoDB diff --git a/ci/README.adoc b/ci/README.adoc index 40e665a..cb6fcf5 100644 --- a/ci/README.adoc +++ b/ci/README.adoc @@ -28,7 +28,7 @@ WARNING: Do NOT check this file into source control! If you'll check, `credentia With this in place, run the following `fly` commands to create pipelines: ---- -% fly -t spring-team sp -p spring-session-data-mongodb-2.1.x -c ci/pipeline-template.yml -l credentials.yml -v branch=2.1.x -v release-branch=release-2.1.x +% fly -t spring-team sp -p spring-session-data-mongodb-2.1.x -c ci/pipeline-template.yml -l credentials.yml -v branch=2.1.x ---- With this pipeline in place, you can now activate and expose it: @@ -41,15 +41,56 @@ With this pipeline in place, you can now activate and expose it: === Making a release 1. Create a new release (on the main branch). ++ ---- % ci/create-release.sh ---- - -2. With the release tagged, push the tagged version to the release branch. ++ +2. With the release officially tagged, just push it to master. ++ ---- -% git checkout -b release-2.1.x -% git reset --hard -% git push -f origin release-2.1.x +% git push ---- -NOTE: You can chain the previous set of commands together using `&&`. \ No newline at end of file +The pipeline will pick up the next tag and release it. It will also build a new snapshot and stage it on artifactory. + + +=== Running CI tasks locally + +Since Concourse is built on top of Docker, it's easy to: + +* Debug what went wrong on your local machine. +* Test out a a tweak to your `test.sh` script before sending it out. +* Experiment against a new image before submitting your pull request. + +All of these use cases are great reasons to essentially run what Concourse does on your local machine. + +IMPORTANT: To do this you must have Docker installed on your machine. + +1. `docker run -it --mount type=bind,source="$(pwd)",target=/spring-session-data-mongodb-github openjdk:8-jdk /bin/bash` ++ +This will launch the Docker image and mount your source code at `spring-session-data-mongodb-github`. ++ +Next, run the `test.sh` script from inside the container: ++ +2. `PROFILE=none spring-session-data-mongodb-github/ci/test.sh` + +Since the container is binding to your source, you can make edits from your IDE and continue to run build jobs. + +If you need to test the `build.sh` script, then do this: + +1. `mkdir /tmp/spring-session-data-mongodb-artifactory` +2. `docker run -it --mount type=bind,source="$(pwd)",target=/spring-session-data-mongodb-github --mount type=bind,source="/tmp/spring-session-data-mongodb-artifactory",target=/spring-session-data-mongodb-artifactory openjdk:8-jdk /bin/bash` ++ +This will launch the Docker image and mount your source code at `spring-session-data-mongodb-github` and the temporary +artifactory output directory at `spring-session-data-mongodb-artifactory`. ++ +Next, run the `build.sh` script from inside the container: ++ +3. `spring-session-data-mongodb-github/ci/build.sh` + +IMPORTANT: `build.sh` doesn't actually push to Artifactory so don't worry about accidentally deploying anything. +It just deploys to a local folder. That way, the `artifactory-resource` later in the pipeline can pick up these artifacts +and deliver them to artifactory. + +NOTE: Docker containers can eat up disk space fast! From time to time, run `docker system prune` to clean out old images. \ No newline at end of file diff --git a/ci/pipeline-template.yml b/ci/pipeline-template.yml index 0915752..1d4b107 100644 --- a/ci/pipeline-template.yml +++ b/ci/pipeline-template.yml @@ -1,55 +1,60 @@ --- resource_types: - name: artifactory-resource - type: docker-image + type: registry-image source: repository: springio/artifactory-resource tag: 0.0.6 - name: github-status - type: docker-image + type: registry-image source: repository: dpb587/github-status-resource tag: master - name: pull-request - type: docker-image + type: registry-image source: repository: jtarchie/pr tag: latest - name: slack-notification - type: docker-image + type: registry-image source: repository: nebhale/slack-notification-resource resources: - name: openjdk:8-jdk - type: docker-image + type: registry-image + icon: docker source: repository: openjdk tag: 8-jdk - name: openjdk:11-jdk - type: docker-image + type: registry-image + icon: docker source: repository: openjdk tag: 11-jdk - name: openjdk:13-jdk - type: docker-image + type: registry-image + icon: docker source: repository: openjdk tag: 13-jdk - name: spring-session-data-mongodb-github type: git + icon: github-circle source: uri: https://github.com/spring-projects/spring-session-data-mongodb.git branch: ((branch)) - name: spring-session-data-mongodb-artifactory type: artifactory-resource + icon: package-variant source: uri: https://repo.spring.io username: ((artifactory-username)) @@ -58,6 +63,7 @@ resources: - name: spring-session-data-mongodb-pull-requests type: pull-request + icon: source-pull source: access_token: ((github-access-token)) repo: spring-projects/spring-session-data-mongodb @@ -65,12 +71,14 @@ resources: - name: spring-session-data-mongodb-release type: git + icon: github-circle source: uri: https://github.com/spring-projects/spring-session-data-mongodb.git - branch: ((release-branch)) + tag_filter: v* - name: spring-session-data-mongodb-status type: github-status + icon: eye-check source: access_token: ((github-access-token)) repository: spring-projects/spring-session-data-mongodb @@ -78,19 +86,20 @@ resources: - name: slack type: slack-notification + icon: slack 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 13 - - Test - JDK 13 and Spring.NEXT - - Build + - spring-session-data-mongodb-test-jdk8 + - spring-session-data-mongodb-test-jdk8-spring-next + - spring-session-data-mongodb-test-jdk11 + - spring-session-data-mongodb-test-jdk11-spring-next + - spring-session-data-mongodb-test-jdk13 + - spring-session-data-mongodb-test-jdk13-spring-next + - build - name: pull-requests jobs: - spring-session-data-mongodb-pull-requests @@ -101,7 +110,7 @@ groups: - sync-to-maven-central jobs: -- name: Test - JDK 8 +- name: spring-session-data-mongodb-test-jdk8 serial: true public: true plan: @@ -112,11 +121,27 @@ jobs: - task: test file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "convergence" } - <<: *slack-success - <<: *slack-failure + 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 + 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 -- name: Test - JDK 8 and Spring.NEXT +- name: spring-session-data-mongodb-test-jdk8-spring-next serial: true public: true plan: @@ -127,10 +152,26 @@ jobs: - task: test file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "spring-next,convergence" } - <<: *slack-success - <<: *slack-failure + 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 + 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 -- name: Test - JDK 11 +- name: spring-session-data-mongodb-test-jdk11 serial: true public: true plan: @@ -142,10 +183,26 @@ jobs: image: openjdk:11-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "convergence" } - <<: *slack-success - <<: *slack-failure + 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 + 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 -- name: Test - JDK 11 and Spring.NEXT +- name: spring-session-data-mongodb-test-jdk11-spring-next serial: true public: true plan: @@ -157,10 +214,26 @@ jobs: image: openjdk:11-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "spring-next,convergence" } - <<: *slack-success - <<: *slack-failure + 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 + 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 -- name: Test - JDK 13 +- name: spring-session-data-mongodb-test-jdk13 serial: true public: true plan: @@ -172,10 +245,26 @@ jobs: image: openjdk:13-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "convergence" } - <<: *slack-success - <<: *slack-failure + 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 + 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 -- name: Test - JDK 13 and Spring.NEXT +- name: spring-session-data-mongodb-test-jdk13-spring-next serial: true public: true plan: @@ -187,22 +276,38 @@ jobs: image: openjdk:13-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "spring-next,convergence" } - <<: *slack-success - <<: *slack-failure + 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 + 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 -- name: Build +- 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 13, - Test - JDK 13 and Spring.NEXT + spring-session-data-mongodb-test-jdk8, + spring-session-data-mongodb-test-jdk8-spring-next, + spring-session-data-mongodb-test-jdk11, + spring-session-data-mongodb-test-jdk11-spring-next, + spring-session-data-mongodb-test-jdk13, + spring-session-data-mongodb-test-jdk13-spring-next ] - put: spring-session-data-mongodb-status params: @@ -267,25 +372,25 @@ jobs: path: spring-session-data-mongodb-github status: pending - aggregate: - - task: test (JDK 8) + - task: test-jdk8 file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "convergence" } - - task: test (JDK 8 and Spring.NEXT) + - task: test-jdk8-spring-next file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "spring-next,convergence" } - - task: test (JDK 11) + - task: test-jdk11 image: openjdk:11-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "convergence" } - - task: test (JDK 11 and Spring.NEXT) + - task: test-jdk11-spring-next image: openjdk:11-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "spring-next,convergence" } - - task: test (JDK 13) + - task: test-jdk13 image: openjdk:13-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "convergence" } - - task: test (JDK 13 and Spring.NEXT) + - task: test-jdk13-spring-next image: openjdk:13-jdk file: spring-session-data-mongodb-github/ci/test.yml params: { PROFILE: "spring-next,convergence" } @@ -466,25 +571,3 @@ jobs: 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 -