Files
spring-session-data-mongodb/ci/pipeline-template.yml
2018-11-07 17:31:48 -06:00

466 lines
16 KiB
YAML

---
resource_types:
- name: artifactory-resource
type: docker-image
source:
repository: springio/artifactory-resource
tag: 0.0.4
- 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: 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 for 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-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 8 and Spring.NEXT 5.1
- Test - JDK 8 and Spring Data.NEXT
- Test - JDK 11
- Test - JDK 11 and Spring.NEXT
- Test - JDK 11 and Spring.NEXT 5.1
- Test - JDK 11 and Spring Data.NEXT
- Build
- name: pull-requests
jobs:
- spring-session-data-mongodb-pull-requests
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" }
on_failure:
put: slack
params:
attachments:
- color: danger
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <FAILURE>"
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:
put: slack
params:
attachments:
- color: good
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <SUCCESS>"
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: 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: "spring5-next,convergence" }
on_failure:
put: slack
params:
attachments:
- color: danger
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <FAILURE>"
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:
put: slack
params:
attachments:
- color: good
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <SUCCESS>"
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: Test - JDK 8 and Spring.NEXT 5.1
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: "spring51-next,convergence" }
on_failure:
put: slack
params:
attachments:
- color: danger
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <FAILURE>"
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:
put: slack
params:
attachments:
- color: good
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <SUCCESS>"
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: Test - JDK 8 and Spring Data.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: "springdata-next,convergence" }
on_failure:
put: slack
params:
attachments:
- color: danger
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <FAILURE>"
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:
put: slack
params:
attachments:
- color: good
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <SUCCESS>"
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: 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" }
on_failure:
put: slack
params:
attachments:
- color: danger
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <FAILURE>"
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:
put: slack
params:
attachments:
- color: good
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <SUCCESS>"
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: 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: "spring5-next,convergence" }
on_failure:
put: slack
params:
attachments:
- color: danger
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <FAILURE>"
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:
put: slack
params:
attachments:
- color: good
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <SUCCESS>"
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: Test - JDK 11 and Spring.NEXT 5.1
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: "spring51-next,convergence" }
on_failure:
put: slack
params:
attachments:
- color: danger
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <FAILURE>"
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:
put: slack
params:
attachments:
- color: good
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <SUCCESS>"
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: Test - JDK 11 and Spring Data.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: "springdata-next,convergence" }
on_failure:
put: slack
params:
attachments:
- color: danger
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <FAILURE>"
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:
put: slack
params:
attachments:
- color: good
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <SUCCESS>"
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: 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 8 and Spring.NEXT 5.1,
Test - JDK 8 and Spring Data.NEXT,
Test - JDK 11,
Test - JDK 11 and Spring.NEXT,
Test - JDK 11 and Spring.NEXT 5.1,
Test - JDK 11 and Spring Data.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:
archives: '*:*:*:*@zip zip.name:spring-session-data-mongodb, zip.displayname:Spring Session Data MongoDB, zip.deployed:false'
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 <FAILURE>"
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 <SUCCESS>"
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
trigger: true
- 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: "spring5-next,convergence" }
- task: test (JDK 8 and Spring.NEXT 5.1)
file: spring-session-data-mongodb-github/ci/test.yml
params: { PROFILE: "spring51-next,convergence" }
- task: test (JDK 8 and Spring Data.NEXT)
file: spring-session-data-mongodb-github/ci/test.yml
params: { PROFILE: "springdata-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: "spring5-next,convergence" }
- task: test (JDK 11 and Spring.NEXT 5.1)
image: openjdk:11-jdk
file: spring-session-data-mongodb-github/ci/test.yml
params: { PROFILE: "spring51-next,convergence" }
- task: test (JDK 11 and Spring Data.NEXT)
image: openjdk:11-jdk
file: spring-session-data-mongodb-github/ci/test.yml
params: { PROFILE: "springdata-next,java11,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 <FAILURE>"
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-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 <SUCCESS>"
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