Files
spring-tools/concourse/pipeline.yml

1271 lines
36 KiB
YAML

##########################################################
resource_types:
- name: s3-multi
type: registry-image
source:
repository: harbor-repo.vmware.com/springossci/s3-resource-simple
username: ((docker_hub_username))
password: ((docker_hub_password))
- name: slack-notification
type: registry-image
source:
repository: cfcommunity/slack-notification-resource
username: ((docker_hub_username))
password: ((docker_hub_password))
tag: latest
- name: artifactory-resource
type: registry-image
source:
repository: springio/artifactory-resource
tag: 0.0.10
- name: semver
type: docker-image
source:
repository: concourse/semver-resource
tag: "1.7"
#########################################################
resources:
- name: monthly
type: time
icon: clock-outline
check_every: 24h
source:
interval: 720h
# - name: every-minute
# type: time
# check_every: 1m
# source:
# interval: 1mcd
- name: docker-git
type: git
icon: github
source:
uri: git@github.com:spring-projects/sts4.git
branch: ((branch))
private_key: ((rsa_id))
paths:
- concourse/docker
# - name: boot-dev-pack-git
# type: git
# source:
# uri: git@github.com:spring-projects/sts4.git
# branch: ((branch))
# private_key: ((rsa_id))
# paths:
# - vscode-extensions/boot-dev-pack
- name: sts4
type: git
icon: github
source:
uri: git@github.com:spring-projects/sts4.git
branch: ((branch))
private_key: ((rsa_id))
- name: sts4-out
type: git
icon: github
source:
uri: git@github.com:spring-projects/sts4.git
branch: ((branch))
private_key: ((rsa_id))
- name: sts4-wiki
type: git
icon: wikipedia
source:
uri: git@github.com:spring-projects/sts4.wiki.git
branch: master
private_key: ((rsa_id))
# - name: mirror-vscode-spring-boot
# type: git
# source:
# branch: ((branch))
# private_key: ((rsa_id))
# uri: git@github.com:pivotal/sts4-vscode-spring-boot-mirror.git
# - name: mirror-vscode-concourse
# type: git
# source:
# branch: ((branch))
# private_key: ((rsa_id))
# uri: git@github.com:pivotal/sts4-vscode-concourse-mirror.git
# - name: mirror-vscode-bosh
# type: git
# source:
# branch: ((branch))
# private_key: ((rsa_id))
# uri: git@github.com:pivotal/sts4-vscode-bosh-mirror.git
- name: jvm-launch-utils-git
type: git
icon: github
source:
uri: git@github.com:spring-projects/sts4.git
private_key: ((rsa_id))
branch: ((branch))
paths:
- nodejs-packages/jvm-launch-utils
- name: tasks
type: git
icon: github
source:
uri: git@github.com:spring-projects/sts4.git
branch: ((branch))
paths:
- concourse/tasks
private_key: ((rsa_id))
# - name: s3-headless-maven-out
# type: s3
# source:
# bucket: ((s3_bucket))
# access_key_id: ((s3_accesskey))
# secret_access_key: ((s3_secretkey))
# region_name: ((s3_region))
# regexp: sts4/snapshots/headless-maven-out-(.*).tar.gz
- name: s3-concourse-vsix-snapshot
type: s3
icon: content-save-outline
source:
bucket: ((s3_bucket))
access_key_id: ((s3_svc_accesskey))
secret_access_key: ((s3_svc_secretkey))
aws_role_arn: arn:aws:iam::((s3_svc_account_id)):role/((s3_svc_user))
region_name: ((s3_region))
regexp: sts4/vscode-extensions/snapshots/vscode-concourse-(.*).vsix
- name: s3-bosh-vsix-snapshot
type: s3
icon: content-save-outline
source:
bucket: ((s3_bucket))
access_key_id: ((s3_svc_accesskey))
secret_access_key: ((s3_svc_secretkey))
aws_role_arn: arn:aws:iam::((s3_svc_account_id)):role/((s3_svc_user))
region_name: ((s3_region))
regexp: sts4/vscode-extensions/snapshots/vscode-bosh-(.*).vsix
- name: s3-manifest-yaml-vsix-snapshot
type: s3
icon: content-save-outline
source:
bucket: ((s3_bucket))
access_key_id: ((s3_svc_accesskey))
secret_access_key: ((s3_svc_secretkey))
aws_role_arn: arn:aws:iam::((s3_svc_account_id)):role/((s3_svc_user))
region_name: ((s3_region))
regexp: sts4/vscode-extensions/snapshots/vscode-manifest-yaml-(.*).vsix
- name: s3-spring-boot-vsix-snapshot
type: s3
icon: content-save-outline
source:
bucket: ((s3_bucket))
access_key_id: ((s3_svc_accesskey))
secret_access_key: ((s3_svc_secretkey))
aws_role_arn: arn:aws:iam::((s3_svc_account_id)):role/((s3_svc_user))
region_name: ((s3_region))
regexp: sts4/vscode-extensions/snapshots/vscode-spring-boot-(.*).vsix
- name: s3-spring-cli-vsix-snapshot
type: s3
icon: content-save-outline
source:
bucket: ((s3_bucket))
access_key_id: ((s3_svc_accesskey))
secret_access_key: ((s3_svc_secretkey))
aws_role_arn: arn:aws:iam::((s3_svc_account_id)):role/((s3_svc_user))
region_name: ((s3_region))
regexp: sts4/vscode-extensions/snapshots/vscode-spring-cli-(.*).vsix
- name: s3-concourse-vsix-release-cdn
type: s3
icon: content-save-outline
source:
bucket: ((CDN_BUCKET))
access_key_id: ((CDN_S3_ACCESS_KEY))
secret_access_key: ((CDN_S3_SECRET_KEY))
endpoint: ((CDN_S3_ENDPOINT))
regexp: spring-tools/release/STS4/vscode/vscode-concourse-(.*).vsix
- name: s3-bosh-vsix-release-cdn
type: s3
icon: content-save-outline
source:
bucket: ((CDN_BUCKET))
access_key_id: ((CDN_S3_ACCESS_KEY))
secret_access_key: ((CDN_S3_SECRET_KEY))
endpoint: ((CDN_S3_ENDPOINT))
regexp: spring-tools/release/STS4/vscode/vscode-bosh-(.*).vsix
- name: s3-manifest-yaml-vsix-release-cdn
type: s3
icon: content-save-outline
source:
bucket: ((CDN_BUCKET))
access_key_id: ((CDN_S3_ACCESS_KEY))
secret_access_key: ((CDN_S3_SECRET_KEY))
endpoint: ((CDN_S3_ENDPOINT))
regexp: spring-tools/release/STS4/vscode/vscode-manifest-yaml-(.*).vsix
- name: s3-spring-boot-vsix-release-cdn
type: s3
icon: content-save-outline
source:
bucket: ((CDN_BUCKET))
access_key_id: ((CDN_S3_ACCESS_KEY))
secret_access_key: ((CDN_S3_SECRET_KEY))
endpoint: ((CDN_S3_ENDPOINT))
regexp: spring-tools/release/STS4/vscode/vscode-spring-boot-(.*).vsix
# - name: s3-manifest-yaml-fatjar-snapshot
# type: s3
# source:
# bucket: ((s3_bucket))
# access_key_id: ((s3_accesskey))
# secret_access_key: ((s3_secretkey))
# region_name: ((s3_region))
# regexp: sts4/fatjars/snapshots/manifest-yaml-language-server-(.*).jar
# - name: s3-manifest-yaml-fatjar--rc
# type: s3
# source:
# bucket: ((s3_prod_bucket))
# access_key_id: ((s3_prod_accesskey))
# secret_access_key: ((s3_prod_secretkey))
# region_name: ((s3_prod_region))
# regexp: release/STS4/fatjars/manifest-yaml-language-server-(.*).jar
# - name: s3-concourse-fatjar-snapshot
# type: s3
# source:
# bucket: ((s3_bucket))
# access_key_id: ((s3_accesskey))
# secret_access_key: ((s3_secretkey))
# region_name: ((s3_region))
# regexp: sts4/fatjars/snapshots/concourse-language-server-(.*).jar
# - name: s3-concourse-fatjar--rc
# type: s3
# source:
# bucket: ((s3_prod_bucket))
# access_key_id: ((s3_prod_accesskey))
# secret_access_key: ((s3_prod_secretkey))
# region_name: ((s3_prod_region))
# regexp: release/STS4/fatjars/concourse-language-server-(.*).jar
# - name: s3-bosh-fatjar-snapshot
# type: s3
# source:
# bucket: ((s3_bucket))
# access_key_id: ((s3_accesskey))
# secret_access_key: ((s3_secretkey))
# region_name: ((s3_region))
# regexp: sts4/fatjars/snapshots/bosh-language-server-(.*).jar
# - name: s3-bosh-fatjar--rc
# type: s3
# source:
# bucket: ((s3_prod_bucket))
# access_key_id: ((s3_prod_accesskey))
# secret_access_key: ((s3_prod_secretkey))
# region_name: ((s3_prod_region))
# regexp: release/STS4/fatjars/bosh-language-server-(.*).jar
# - name: s3-spring-boot-fatjar-snapshot
# type: s3
# source:
# bucket: ((s3_bucket))
# access_key_id: ((s3_accesskey))
# secret_access_key: ((s3_secretkey))
# region_name: ((s3_region))
# regexp: sts4/fatjars/snapshots/spring-boot-language-server-(.*).jar
# - name: s3-spring-boot-fatjar--rc
# type: s3
# source:
# bucket: ((s3_prod_bucket))
# access_key_id: ((s3_prod_accesskey))
# secret_access_key: ((s3_prod_secretkey))
# region_name: ((s3_prod_region))
# regexp: release/STS4/fatjars/spring-boot-language-server-(.*).jar
- name: vscode-snapshot-website-cdn
type: s3-multi
icon: content-save-outline
source:
bucket: ((CDN_BUCKET))
access_key_id: ((CDN_S3_ACCESS_KEY))
secret_access_key: ((CDN_S3_SECRET_KEY))
endpoint: ((CDN_S3_ENDPOINT))
region_name: ((s3_region))
path: spring-tools/snapshot/STS4/vscode-extensions
change_dir_to: website
- name: slack-notification
type: slack-notification
icon: slack
source:
url: ((slack_webhook))
- name: docker-image
type: registry-image
icon: docker
source:
username: ((docker_hub_username))
password: ((docker_hub_password))
repository: springci/sts4-build-env
- name: maven-cache
type: s3
icon: cached
source:
bucket: ((s3_bucket))
access_key_id: ((s3_svc_accesskey))
secret_access_key: ((s3_svc_secretkey))
aws_role_arn: arn:aws:iam::((s3_svc_account_id)):role/((s3_svc_user))
region_name: ((s3_region))
regexp: mvn-caches/sts4-(.*).tar.gz
- name: version
type: semver
icon: counter
source:
driver: s3
bucket: ((s3_bucket))
key: versions/vscode-extensions
access_key_id: ((s3_svc_accesskey))
secret_access_key: ((s3_svc_secretkey))
assume_role_arn: arn:aws:iam::((s3_svc_account_id)):role/((s3_svc_user))
region_name: ((s3_region))
initial_version: 0.0.5-RC.6
- name: nightly
type: time
icon: clock-outline
source:
start: 0:00
stop: 1:00
location: US/Eastern
days: [Tuesday, Thursday, Saturday]
# - name: artifactory
# type: artifactory-resource
# source:
# uri: "https://repo.spring.io"
# username: ((artifactory_user))
# password: ((artifactory_password))
# build_name: spring-tools-4
########################################################################################
jobs:
# - name: boot-dev-pack-ovsx-publish
# plan:
# - in_parallel:
# - get: boot-dev-pack-git
# trigger: true
# - get: tasks
# - task: ovsx-build-and-publish
# file: tasks/concourse/tasks/ovsx-build-and-publish.yml
# input_mapping:
# sts4: boot-dev-pack-git
# params:
# ovsx_token: ((ovsx_token))
- name: vsix-s3-publish
plan:
- in_parallel:
- get: version
trigger: true
passed:
- publish-release
- get: s3-spring-boot-vsix-snapshot
passed:
- publish-release
- get: s3-manifest-yaml-vsix-snapshot
passed:
- publish-release
- get: s3-bosh-vsix-snapshot
passed:
- publish-release
- get: s3-concourse-vsix-snapshot
passed:
- publish-release
- in_parallel:
- put: s3-spring-boot-vsix-release-cdn
params:
file: s3-spring-boot-vsix-snapshot/*.vsix
- put: s3-manifest-yaml-vsix-release-cdn
params:
file: s3-manifest-yaml-vsix-snapshot/*.vsix
- put: s3-bosh-vsix-release-cdn
params:
file: s3-bosh-vsix-snapshot/*.vsix
- put: s3-concourse-vsix-release-cdn
params:
file: s3-concourse-vsix-snapshot/*.vsix
- name: create-rc-wiki-page
serial: true
plan:
- in_parallel:
- get: sts4-wiki
- get: sts4
- get: s3-bosh-vsix-snapshot
trigger: true
passed:
- build-bosh-rc
- get: s3-manifest-yaml-vsix-snapshot
trigger: true
passed:
- build-manifest-yaml-rc
- get: s3-concourse-vsix-snapshot
trigger: true
passed:
- build-concourse-rc
- get: s3-spring-boot-vsix-snapshot
trigger: true
passed:
- build-spring-boot-rc
- task: create-vsix-release-wiki-page
file: sts4/concourse/tasks/create-release-wiki-page.yml
params:
wiki_page_file_name: VSCode-Release-Candidates
input_mapping:
concourse-vsix: s3-concourse-vsix-snapshot
bosh-vsix: s3-bosh-vsix-snapshot
manifest-yaml-vsix: s3-manifest-yaml-vsix-snapshot
spring-boot-vsix: s3-spring-boot-vsix-snapshot
- put: sts4-wiki
params:
rebase: true
repository: sts4-wiki-out
- name: create-release-wiki-page
plan:
- in_parallel:
- get: sts4-wiki
- get: sts4
- get: s3-bosh-vsix-release-cdn
trigger: true
- get: s3-manifest-yaml-vsix-release-cdn
trigger: true
- get: s3-concourse-vsix-release-cdn
trigger: true
- get: s3-spring-boot-vsix-release-cdn
trigger: true
- task: create-vsix-release-wiki-page
file: sts4/concourse/tasks/create-release-wiki-page.yml
params:
wiki_page_file_name: Current-VSCode-Releases
input_mapping:
concourse-vsix: s3-concourse-vsix-release-cdn
bosh-vsix: s3-bosh-vsix-release-cdn
manifest-yaml-vsix: s3-manifest-yaml-vsix-release-cdn
spring-boot-vsix: s3-spring-boot-vsix-release-cdn
- put: sts4-wiki
params:
rebase: true
repository: sts4-wiki-out
# - name: build-theia-docker-snapshot-image
# serial: true
# on_failure:
# put: slack-notification
# params:
# text: |
# Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
# https://ci.spring.io/teams/tools/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}
# plan:
# - in_parallel:
# - get: s3-concourse-vsix-snapshot
# trigger: true
# passed:
# - build-consourse-vsix-snapshot
# - get: s3-spring-boot-vsix-snapshot
# trigger: true
# passed:
# - build-spring-boot-vsix-snapshot
# - get: s3-bosh-vsix-snapshot
# trigger: true
# passed:
# - build-bosh-vsix-snapshot
# - get: s3-manifest-yaml-vsix-snapshot
# trigger: true
# passed:
# - build-manifest-yaml-vsix-snapshot
# - get: sts4
# - task: prepare-theia-docker-image
# file: sts4/concourse/tasks/prepare-theia-docker-image.yml
# - put: theia-docker-image
# params:
# build: output
# get_params:
# skip_download: true
- name: build-docker-image
serial: true
plan:
- get: monthly
trigger: true
- get: docker-git
trigger: true
- task: build-docker-image
privileged: true
timeout: 3h30m
config:
platform: linux
image_resource:
type: registry-image
source:
repository: concourse/oci-build-task
params:
CONTEXT: docker-git/concourse/docker
REGISTRY_MIRRORS: harbor-mirror.spring.vmware.com
inputs:
- name: docker-git
outputs:
- name: image
run:
path: build
- put: docker-image
params:
image: image/image.tar
- name: build-mvn-cache
serial: true
plan:
- get: sts4
trigger: true
- task: build-mvn-cache
timeout: 3h30m
file: sts4/concourse/tasks/build-mvn-cache.yml
- put: maven-cache
params:
file: out/*.tar.gz
- name: build-consourse-vsix-snapshot
plan:
- in_parallel:
- get: sts4
# trigger: true
- get: maven-cache
- task: build-consourse-vsix-snapshot
file: sts4/concourse/tasks/build-vsix.yml
params:
extension_id: vscode-concourse
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- in_parallel:
- put: s3-concourse-vsix-snapshot
params:
file: out/vscode-concourse-*.vsix
acl: public-read
# - put: mirror-vscode-concourse
# params:
# repository: sts4
- name: publish-concourse-pre-release
plan:
- in_parallel:
- get: nightly
# trigger: true
- get: sts4
- get: maven-cache
passed:
- build-consourse-vsix-snapshot
- task: build-concourse-vsix-pre-release
file: sts4/concourse/tasks/build-vsix.yml
params:
extension_id: vscode-concourse
dist_type: pre
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- task: publish-pre-release
file: sts4/concourse/tasks/publish-vsix-pre-releases.yml
input_mapping:
vsix_folder: out
params:
vsce_token: ((vsce_token))
on_failure:
put: slack-notification
params:
text: |
Pre-Release Publishing for ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- name: build-bosh-vsix-snapshot
plan:
- in_parallel:
- get: sts4
# trigger: true
- get: maven-cache
- task: build-bosh-vsix-snapshot
file: sts4/concourse/tasks/build-vsix.yml
params:
extension_id: vscode-bosh
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- in_parallel:
- put: s3-bosh-vsix-snapshot
params:
file: out/vscode-bosh-*.vsix
acl: public-read
# - put: mirror-vscode-bosh
# params:
# repository: sts4
- name: publish-bosh-pre-release
plan:
- in_parallel:
- get: nightly
# trigger: true
- get: sts4
- get: maven-cache
passed:
- build-bosh-vsix-snapshot
- task: build-bosh-vsix-pre-relase
file: sts4/concourse/tasks/build-vsix.yml
params:
extension_id: vscode-bosh
dist_type: pre
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- task: publish-pre-release
file: sts4/concourse/tasks/publish-vsix-pre-releases.yml
input_mapping:
vsix_folder: out
params:
vsce_token: ((vsce_token))
on_failure:
put: slack-notification
params:
text: |
Pre-Release Publishing for ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- name: build-manifest-yaml-vsix-snapshot
plan:
- in_parallel:
- get: sts4
# trigger: true
- get: maven-cache
- task: build-manifest-yaml-vsix-snapshot
file: sts4/concourse/tasks/build-vsix.yml
params:
extension_id: vscode-manifest-yaml
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- in_parallel:
- put: s3-manifest-yaml-vsix-snapshot
params:
file: out/vscode-manifest-yaml-*.vsix
acl: public-read
- name: publish-manifest-yaml-pre-release
plan:
- in_parallel:
- get: nightly
# trigger: true
- get: sts4
- get: maven-cache
passed:
- build-manifest-yaml-vsix-snapshot
- task: build-manifest-yaml-vsix-pre-release
file: sts4/concourse/tasks/build-vsix.yml
params:
extension_id: vscode-manifest-yaml
dist_type: pre
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- task: publish-pre-release
file: sts4/concourse/tasks/publish-vsix-pre-releases.yml
input_mapping:
vsix_folder: out
params:
vsce_token: ((vsce_token))
on_failure:
put: slack-notification
params:
text: |
Pre-Release Publishing for ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- name: build-spring-boot-vsix-snapshot
plan:
- in_parallel:
- get: sts4
# trigger: true
- get: maven-cache
- task: build-spring-boot-vsix-snapshot
timeout: 40m
file: sts4/concourse/tasks/build-vsix.yml
params:
extension_id: vscode-spring-boot
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- in_parallel:
- put: s3-spring-boot-vsix-snapshot
params:
file: out/vscode-spring-boot-*.vsix
acl: public-read
# - put: mirror-vscode-spring-boot
# params:
# repository: sts4
- name: publish-spring-boot-pre-release
plan:
- in_parallel:
- get: nightly
# trigger: true
- get: sts4
- get: maven-cache
passed:
- build-spring-boot-vsix-snapshot
- task: build-spring-boot-vsix-pre-release
timeout: 40m
file: sts4/concourse/tasks/build-vsix.yml
params:
extension_id: vscode-spring-boot
dist_type: pre
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- task: publish-pre-release
file: sts4/concourse/tasks/publish-vsix-pre-releases.yml
input_mapping:
vsix_folder: out
params:
vsce_token: ((vsce_token))
on_failure:
put: slack-notification
params:
text: |
Pre-Release Publishing for ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- name: build-spring-cli-vsix-snapshot
plan:
- in_parallel:
- get: sts4
# trigger: true
- get: maven-cache
- task: build-spring-cli-vsix-snapshot
timeout: 10m
file: sts4/concourse/tasks/build-vsix.yml
params:
extension_id: vscode-spring-cli
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- in_parallel:
- put: s3-spring-cli-vsix-snapshot
params:
file: out/vscode-spring-cli-*.vsix
acl: public-read
- name: trigger-rc-build
serial: true
plan:
- in_parallel:
- get: sts4
passed:
- build-manifest-yaml-vsix-snapshot
- build-consourse-vsix-snapshot
- build-bosh-vsix-snapshot
- build-spring-boot-vsix-snapshot
- do:
- get: version
params:
pre: RC
- put: version
params:
file: version/version
- put: sts4-out
params:
repository: sts4
only_tag: true
tag_prefix: V_
tag: version/version
- name: build-concourse-rc
plan:
- in_parallel:
- get: maven-cache
passed:
- build-consourse-vsix-snapshot
- get: sts4
passed:
- trigger-rc-build
- get: version
trigger: true
passed:
- trigger-rc-build
- task: build-concourse-rc
file: sts4/concourse/tasks/rc-build.yml
params:
extension_id: vscode-concourse
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- put: s3-concourse-vsix-snapshot
params:
file: out/vscode-concourse-*.vsix
acl: public-read
on_success:
put: slack-notification
params:
channel: "#spring-tools-team"
text_file: s3-concourse-vsix-snapshot/url
icon_url: https://raw.githubusercontent.com/spring-projects/sts4/master/vscode-extensions/vscode-concourse/icon.png
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has succeed!
Release candidate available for testing $TEXT_FILE_CONTENT
- name: build-manifest-yaml-rc
plan:
- in_parallel:
- get: maven-cache
passed:
- build-manifest-yaml-vsix-snapshot
- get: sts4
passed:
- trigger-rc-build
- get: version
trigger: true
passed:
- trigger-rc-build
- task: build-manifest-yaml-rc
file: sts4/concourse/tasks/rc-build.yml
params:
extension_id: vscode-manifest-yaml
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- put: s3-manifest-yaml-vsix-snapshot
params:
file: out/vscode-manifest-yaml-*.vsix
acl: public-read
on_success:
put: slack-notification
params:
channel: "#spring-tools-team"
text_file: s3-manifest-yaml-vsix-snapshot/url
icon_url: https://raw.githubusercontent.com/spring-projects/sts4/master/vscode-extensions/vscode-manifest-yaml/icon.png
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has succeed!
Release candidate available for testing $TEXT_FILE_CONTENT
- name: build-bosh-rc
plan:
- in_parallel:
- get: maven-cache
passed:
- build-bosh-vsix-snapshot
- get: sts4
passed:
- trigger-rc-build
- get: version
trigger: true
passed:
- trigger-rc-build
- task: build-bosh-rc
file: sts4/concourse/tasks/rc-build.yml
params:
extension_id: vscode-bosh
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- put: s3-bosh-vsix-snapshot
params:
file: out/vscode-*.vsix
acl: public-read
on_success:
put: slack-notification
params:
channel: "#spring-tools-team"
text_file: s3-bosh-vsix-snapshot/url
icon_url: https://raw.githubusercontent.com/spring-projects/sts4/master/vscode-extensions/vscode-concourse/icon.png
text: |
Build ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has succeed!
Release candidate available for testing $TEXT_FILE_CONTENT
- name: build-spring-boot-rc
plan:
- in_parallel:
- get: maven-cache
passed:
- build-spring-boot-vsix-snapshot
- get: sts4
passed:
- trigger-rc-build
- get: version
trigger: true
passed:
- trigger-rc-build
- task: build-spring-boot-rc
timeout: 40m
attempts: 4
file: sts4/concourse/tasks/rc-build.yml
params:
extension_id: vscode-spring-boot
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
- put: s3-spring-boot-vsix-snapshot
params:
file: out/vscode-*.vsix
acl: public-read
on_success:
put: slack-notification
params:
channel: "#spring-tools-team"
text_file: s3-spring-boot-vsix-snapshot/url
icon_url: https://raw.githubusercontent.com/spring-projects/sts4/master/vscode-extensions/vscode-spring-boot/spring-boot-logo.png
text: |
Build ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has succeed!
Release candidate available for testing $TEXT_FILE_CONTENT
- name: publish-ovsx-releases
serial: true
plan:
- in_parallel:
- get: tasks
- get: s3-concourse-vsix-snapshot
passed:
- publish-release
- get: s3-manifest-yaml-vsix-snapshot
passed:
- publish-release
- get: s3-bosh-vsix-snapshot
passed:
- publish-release
- get: s3-spring-boot-vsix-snapshot
trigger: true
passed:
- publish-release
- task: publish-ovsx-releases
file: tasks/concourse/tasks/publish-ovsx-releases.yml
input_mapping:
sts4: tasks
params:
ovsx_token: ((ovsx_token))
- name: verify-vsce-token
plan:
- get: sts4
- task: verify-vsce-token
file: sts4/concourse/tasks/verify-vsce-token.yml
params:
vsce_token: ((vsce_token))
vsce_publisher: ((vsce_publisher))
- name: publish-release
serial: true
plan:
- in_parallel:
- get: tasks
- get: sts4
passed:
- build-manifest-yaml-rc
- build-concourse-rc
- build-bosh-rc
- build-spring-boot-rc
- get: version
passed:
- build-concourse-rc
- build-manifest-yaml-rc
- build-bosh-rc
- build-spring-boot-rc
params:
bump: final
- get: s3-concourse-vsix-snapshot
passed:
- build-concourse-rc
- get: s3-manifest-yaml-vsix-snapshot
passed:
- build-manifest-yaml-rc
- get: s3-bosh-vsix-snapshot
passed:
- build-bosh-rc
- get: s3-spring-boot-vsix-snapshot
passed:
- build-spring-boot-rc
- task: publish-vsix-releases
file: tasks/concourse/tasks/publish-vsix-releases.yml
input_mapping:
sts4: tasks
params:
vsce_token: ((vsce_token))
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
on_success:
put: slack-notification
params:
channel: "#spring-tools-team"
text_file: version/version
text: |
STS 4 VScode Extensions $TEXT_FILE_CONTENT released
Releases now available on Vscode Marketplace:
• <https://marketplace.visualstudio.com/items?itemName=vmware.vscode-manifest-yaml|Cloudfoundry Manifest Editor>
• <https://marketplace.visualstudio.com/items?itemName=vmware.vscode-concourse|Concourse CI Pipeline Editor>
• <https://marketplace.visualstudio.com/items?itemName=vmware.vscode-bosh|Bosh Deployment Manifest Editor>
• <https://marketplace.visualstudio.com/items?itemName=vmware.vscode-spring-boot|Spring Boot Support>
- in_parallel:
- put: sts4-out
params:
repository: sts4
only_tag: true
tag: version/version
tag_prefix: V_
- put: version
params:
file: version/version
- name: publish-concourse-vsix-release
serial: true
plan:
- in_parallel:
- get: tasks
- get: sts4
passed:
- build-concourse-rc
- get: version
passed:
- build-concourse-rc
params:
bump: final
- get: s3-concourse-vsix-snapshot
passed:
- build-concourse-rc
- task: publish-release
file: tasks/concourse/tasks/publish-concourse-vsix-release.yml
input_mapping:
sts4: tasks
params:
vsce_token: ((vsce_token))
on_failure:
put: slack-notification
params:
text: |
Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
on_success:
put: slack-notification
params:
channel: "#spring-tools-team"
text_file: version/version
text: |
STS 4 VScode Extensions $TEXT_FILE_CONTENT released
Releases now available on Vscode Marketplace:
• <https://marketplace.visualstudio.com/items?itemName=Pivotal.vscode-concourse|Concourse CI Pipeline Editor>
- in_parallel:
- put: sts4-out
params:
repository: sts4
only_tag: true
tag: version/version
tag_prefix: V_
- put: version
params:
file: version/version
- name: bump-version-patch
serial: true
plan:
- in_parallel:
- get: sts4
- get: version
params:
bump: patch
- task: bump-versions
file: sts4/concourse/tasks/bump-versions.yml
- put: sts4
params:
repository: out
rebase: true
- put: version
params:
file: version/version
- name: bump-version-minor
serial: true
plan:
- in_parallel:
- get: sts4
- get: version
params:
bump: minor
- task: bump-versions
file: sts4/concourse/tasks/bump-versions.yml
- put: sts4
params:
repository: out
rebase: true
- put: version
params:
file: version/version
- name: bump-version-major
serial: true
plan:
- in_parallel:
- get: sts4
- get: version
params:
bump: major
- task: bump-versions
file: sts4/concourse/tasks/bump-versions.yml
- put: sts4
params:
repository: out
rebase: true
- put: version
params:
file: version/version
- name: build-vscode-snapshot-website
serial: true
plan:
- in_parallel:
- get: sts4
- get: s3-bosh-vsix-snapshot
trigger: true
passed:
- build-bosh-vsix-snapshot
- get: s3-manifest-yaml-vsix-snapshot
trigger: true
passed:
- build-manifest-yaml-vsix-snapshot
- get: s3-spring-boot-vsix-snapshot
trigger: true
passed:
- build-spring-boot-vsix-snapshot
- get: s3-spring-cli-vsix-snapshot
trigger: true
passed:
- build-spring-cli-vsix-snapshot
- get: s3-concourse-vsix-snapshot
trigger: true
passed:
- build-consourse-vsix-snapshot
- task: build-website
file: sts4/concourse/tasks/build-vscode-website.yml
- in_parallel:
- put: vscode-snapshot-website-cdn
# - name: build-fatjars
# plan:
# - in_parallel:
# - get: sts4
# trigger: true
# - get: maven-cache
# - task: build-fatjars
# file: sts4/concourse/tasks/fatjars-language-servers.yml
# attempts: 3
# on_failure:
# put: slack-notification
# params:
# text: |
# Concourse ${BUILD_PIPELINE_NAME}/${BUILD_JOB_NAME}/${BUILD_NAME} has failed!
# on_success:
# in_parallel:
# - put: s3-headless-maven-out
# params:
# file: out/headless-maven-out-*.tar.gz
# - put: s3-manifest-yaml-fatjar-snapshot
# params:
# file: out/manifest-yaml-language-server-*.jar
# acl: public-read
# - put: s3-concourse-fatjar-snapshot
# params:
# file: out/concourse-language-server-*.jar
# acl: public-read
# - put: s3-bosh-fatjar-snapshot
# params:
# file: out/bosh-language-server-*.jar
# acl: public-read
# - put: s3-spring-boot-fatjar-snapshot
# params:
# file: out/spring-boot-language-server-*.jar
# acl: public-read
# - put: artifactory
# params:
# debug: true
# disable_checksum_uploads: true
# build_uri: "https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_ID}"
# build_number: "${BUILD_PIPELINE_NAME}-${BUILD_JOB_NAME}-${BUILD_NAME}"
# repo: libs-snapshot-local
# folder: maven-out
# exclude:
# - "**/_remote.repositories"
# - name: publish-headless-snapshots
# plan:
# - in_parallel:
# - get: s3-headless-maven-out
# passed:
# - build-fatjars
# - get: sts4
# - task: unpack
# file: sts4/concourse/tasks/unpack.yml
# input_mapping:
# in: s3-headless-maven-out
# - put: artifactory
# params:
# debug: true
# disable_checksum_uploads: true
# build_uri: "https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_ID}"
# build_number: "${BUILD_PIPELINE_NAME}-${BUILD_JOB_NAME}-${BUILD_NAME}"
# repo: libs-snapshot-local
# folder: out
# exclude:
# - "**/_remote.repositories"
# #Can't publish org.json jar because its got a 'release' version number, and artifactory rejects publishing it in snapshot repo.
# - "**/org.json*"
- name: publish-jvm-launch-utils
plan:
- in_parallel:
- get: jvm-launch-utils-git
trigger: true
- get: tasks
- task: publish
file: tasks/concourse/tasks/npm-publish.yml
input_mapping:
sources_repo: jvm-launch-utils-git
params:
npm_token: ((npm_token))
sources_dir: nodejs-packages/jvm-launch-utils
groups:
- name: vscode-snapshot
jobs:
- build-vscode-snapshot-website
- build-consourse-vsix-snapshot
- build-spring-boot-vsix-snapshot
- build-spring-cli-vsix-snapshot
- build-bosh-vsix-snapshot
- build-manifest-yaml-vsix-snapshot
- name: vscode-pre-release
jobs:
- publish-spring-boot-pre-release
- publish-concourse-pre-release
- publish-bosh-pre-release
- publish-manifest-yaml-pre-release
- name: vscode-release
jobs:
- verify-vsce-token
- build-bosh-rc
- build-concourse-rc
- build-manifest-yaml-rc
- build-spring-boot-rc
- trigger-rc-build
- publish-release
- publish-ovsx-releases
- build-manifest-yaml-vsix-snapshot
- build-consourse-vsix-snapshot
- build-bosh-vsix-snapshot
- build-spring-boot-vsix-snapshot
- build-spring-cli-vsix-snapshot
- publish-concourse-vsix-release
- create-rc-wiki-page
- vsix-s3-publish
- create-release-wiki-page
- name: bump-versions
jobs:
- bump-version-patch
- bump-version-minor
- bump-version-major
# - name: theia-snapshots
# jobs:
# - build-theia-docker-snapshot-image
# - build-consourse-vsix-snapshot
# - build-manifest-yaml-vsix-snapshot
# - build-spring-boot-vsix-snapshot
# - build-bosh-vsix-snapshot
- name: setup
jobs:
- build-mvn-cache
- build-docker-image
#- name: artifactory
# jobs:
# - build-fatjars
# - publish-headless-snapshots
# - name: debugging
# jobs:
# - concourse-ls-tests
- name: npm-packages
jobs:
- publish-jvm-launch-utils