1+ resource_types :
2+ # PIP RESOURCE_TYPE
3+ - name : pip
4+ type : docker-image
5+ source :
6+ repository : groenborg/concourse-git-phlow
7+
8+
9+ - name : slack-notification
10+ type : docker-image
11+ source :
12+ repository : cfcommunity/slack-notification-resource
13+ tag : latest
14+
15+ # ################ RESOURCE CONFIGURATION #################
116resources :
2- # GITHUB REPOSITORY
17+
18+ # GITHUB GIT-PHLOW
319 - name : git-phlow
420 type : git
521 source :
622 uri : https://github.com/Praqma/git-phlow.git
723 branch : master
24+ username : {{github-username}}
25+ password : {{github-password}}
26+
27+ # GITHUB PRAQMA-TAP
28+ - name : praqma-tap
29+ type : git
30+ source :
31+ uri : https://github.com/Praqma/homebrew-praqma-tap.git
32+ branch : master
33+ username : {{github-username}}
34+ password : {{github-password}}
835
9- # VERSION
10- - name : resource-version
36+ # PRETESTED INTEGRATION
37+ - name : pretested-integration
38+ type : pip
39+ source :
40+ prefixready : ready/
41+ prefixwip : wip/
42+ master : master
43+ url : https://github.com/Praqma/git-phlow.git
44+ username : {{github-username}}
45+ password : {{github-password}}
46+
47+ # VERSION
48+ - name : gp-version
1149 type : semver
1250 source :
1351 driver : git
@@ -16,14 +54,15 @@ resources:
1654 file : version
1755 private_key : {{github-private-key}}
1856
19- # GITHUB RELEASE
57+ # GITHUB RELEASE
2058 - name : gh-release
2159 type : github-release
2260 source :
2361 user : praqma
2462 repository : git-phlow
2563 access_token : {{github-token}}
26- # S3 BUCKET FOR ARTIFACTS
64+
65+ # S3 BUCKET LINUX
2766 - name : phlow-artifact-linux-s3
2867 type : s3
2968 source :
@@ -32,6 +71,8 @@ resources:
3271 access_key_id : {{s3-access-key-id}}
3372 region_name : eu-central-1
3473 secret_access_key : {{s3-secret-access-key}}
74+
75+ # S3 BUCKET DARWIN
3576 - name : phlow-artifact-darwin-s3
3677 type : s3
3778 source :
@@ -40,124 +81,89 @@ resources:
4081 access_key_id : {{s3-access-key-id}}
4182 region_name : eu-central-1
4283 secret_access_key : {{s3-secret-access-key}}
84+
85+ # SLACK NOTIFICATION
86+ - name : slack-alert
87+ type : slack-notification
88+ source :
89+ url : {{slack-url}}
90+
91+
4392# ################ PIPELINE JOBS #################
4493# INTEGRATION TEST JOB
4594jobs :
46- - name : integration-tests
95+ - name : integration-test
4796 plan :
4897 - get : git-phlow
49- trigger : true
98+ - get : pretested-integration
99+ # trigger: true
50100 - task : integration
51101 file : git-phlow/ci/tasks/run-tests.yml
52- # VERSIONIGN JOB
53- - name : job-versioning
54- public : true
55- serial : true
56- plan :
57- - get : resource-version
58-
59- # RELEASE MAJOR
60- - name : create-major
61- plan :
62- - get : resource-version
63- params : {bump: major}
64- - get : git-phlow
65- passed : [integration-tests]
66- - put : resource-version
67- params : {file: resource-version/version}
68- - task : create-release
69- file : git-phlow/ci/tasks/gen-bin.yml
70- - put : phlow-artifact-linux-s3
71- params : {file: build-artifacts/git-phlow-*-linux-amd64.tar.gz}
72- - put : phlow-artifact-darwin-s3
73- params : {file: build-artifacts/git-phlow-*-darwin-amd64.tar.gz}
74- # RELEASE MINOR
75- - name : create-minor
76- plan :
77- - get : resource-version
78- params : {bump: minor}
79- - get : git-phlow
80- passed : [integration-tests]
81- - put : resource-version
82- params : {file: resource-version/version}
83- - task : create-release
84- file : git-phlow/ci/tasks/gen-bin.yml
85- - put : phlow-artifact-linux-s3
86- params : {file: build-artifacts/git-phlow-*-linux-amd64.tar.gz}
87- - put : phlow-artifact-darwin-s3
88- params : {file: build-artifacts/git-phlow-*-darwin-amd64.tar.gz}
89- # RELEASE PATCH
90- - name : create-patch
102+ on_failure :
103+ put : slack-alert
104+ params :
105+ text : |
106+ $BUILD_JOB_NAME nr. $BUILD_NAME failed
107+ https://concourse.kubernetes.praqma.cloud/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
108+ - put : pretested-integration
109+ params :
110+ repository : pretested-integration
111+ timeout : 5m
112+
113+ # BUILD ARTIFACT
114+ - name : build-phlow-artifacts
91115 plan :
92- - get : resource -version
116+ - get : gp -version
93117 params : {bump: patch}
94118 - get : git-phlow
95- passed : [integration-tests ]
96- - put : resource -version
97- params : {file: resource -version/version}
119+ passed : [integration-test ]
120+ - put : gp -version
121+ params : {file: gp -version/version}
98122 - task : create-release
99123 file : git-phlow/ci/tasks/gen-bin.yml
100124 - put : phlow-artifact-linux-s3
101125 params : {file: build-artifacts/git-phlow-*-linux-amd64.tar.gz}
102126 - put : phlow-artifact-darwin-s3
103127 params : {file: build-artifacts/git-phlow-*-darwin-amd64.tar.gz}
128+
129+ # PAC GOES HERE
130+
104131# CREATE A GITHUB RELEASE
105- - name : shipit-patch
106- plan :
107- - get : resource-version
108- - get : git-phlow
109- - get : phlow-artifact-linux-s3
110- passed : [create-patch]
111- trigger : true
112- - get : phlow-artifact-darwin-s3
113- passed : [create-patch]
114- trigger : true
115- - put : gh-release
116- params :
117- name : resource-version/version
118- tag : resource-version/version
119- tag_prefix : v
120- body : git-phlow/ci/notes/CHANGELOG.md
121- globs :
122- - phlow-artifact-linux-s3/git-phlow-*-linux-amd64.tar.gz
123- - phlow-artifact-darwin-s3/git-phlow-*-darwin-amd64.tar.gz
124- # CREATE A GITHUB RELEASE
125- - name : shipit-minor
132+ - name : shipit
126133 plan :
127- - get : resource -version
134+ - get : gp -version
128135 - get : git-phlow
136+ passed : [integration-test]
129137 - get : phlow-artifact-linux-s3
130- passed : [create-minor ]
138+ passed : [build-phlow-artifacts ]
131139 trigger : true
132140 - get : phlow-artifact-darwin-s3
133- passed : [create-minor ]
141+ passed : [build-phlow-artifacts ]
134142 trigger : true
135143 - put : gh-release
136144 params :
137- name : resource -version/version
138- tag : resource -version/version
145+ name : gp -version/version
146+ tag : gp -version/version
139147 tag_prefix : v
140148 body : git-phlow/ci/notes/CHANGELOG.md
141149 globs :
142150 - phlow-artifact-linux-s3/git-phlow-*-linux-amd64.tar.gz
143151 - phlow-artifact-darwin-s3/git-phlow-*-darwin-amd64.tar.gz
144- # CREATE A GITHUB RELEASE
145- - name : shipit-major
152+ - name : brew-release
146153 plan :
147- - get : resource-version
148- - get : git-phlow
149- - get : phlow-artifact-linux-s3
150- passed : [create-major]
151- trigger : true
152- - get : phlow-artifact-darwin-s3
153- passed : [create-major]
154- trigger : true
155- - put : gh-release
156- params :
157- name : resource-version/version
158- tag : resource-version/version
159- tag_prefix : v
160- body : git-phlow/ci/notes/CHANGELOG.md
161- globs :
162- - phlow-artifact-linux-s3/git-phlow-*-linux-amd64.tar.gz
163- - phlow-artifact-darwin-s3/git-phlow-*-darwin-amd64.tar.gz
154+ - aggregate :
155+ - get : praqma-tap
156+ - get : git-phlow # contains the formula update script
157+ - get : gp-version
158+ - get : phlow-artifact-darwin-s3
159+ # passed: [shipit, build-phlow-artifacts]
160+ # trigger: true
161+ - task : brew-release
162+ file : git-phlow/ci/tasks/brew-release.yml
163+ on_failure :
164+ put : slack-alert
165+ params :
166+ text : |
167+ brew release failed
168+ https://concourse.kubernetes.praqma.cloud/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
169+ - put : praqma-tap
0 commit comments