Skip to content

Commit b4a5e63

Browse files
author
Joseph Palermo
committed
Pipeline standardization
- Use bosh-shared-ci for checking for updated blobs - Check for all blob updates - Use bosh-shared-ci task to cut final release - Use semver resource for versioning (releases will now have major/minor/patch components
1 parent f464feb commit b4a5e63

File tree

5 files changed

+116
-115
lines changed

5 files changed

+116
-115
lines changed

ci/pipeline.yml

Lines changed: 116 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -113,60 +113,110 @@ jobs:
113113
- name: automatically-release-new-patch
114114
plan:
115115
- in_parallel:
116-
- get: bosh-cli-registry-image
117116
- get: postgres-release
118117
trigger: true
119118
passed:
120119
- run-acceptance-tests
120+
- get: current-version
121+
resource: version
122+
- get: patched-version
123+
resource: version
124+
params:
125+
bump: patch
126+
- get: bosh-shared-ci
127+
- get: bosh-security-scanner-registry-image
121128
- try:
122-
task: check-for-updated-blob
123-
file: postgres-release/ci/tasks/check-for-updated-blob/task.yml
124-
image: bosh-cli-registry-image
129+
task: check-for-updated-blobs
130+
file: bosh-shared-ci/tasks/release/check-for-updated-blobs.yml
131+
image: bosh-security-scanner-registry-image
132+
input_mapping:
133+
input_repo: postgres-release
134+
version: current-version
125135
params:
126-
BLOB: postgresql-16
136+
BLOBS:
137+
- postgresql-11
138+
- postgresql-13
139+
- postgresql-15
140+
- postgresql-16
141+
- yq
127142
on_success:
128-
put: final-release-trigger
143+
do:
144+
- put: release-notes
145+
params:
146+
file: release-notes/release-notes.md
147+
- put: version
148+
params:
149+
file: patched-version/version
150+
- task: ensure-blob-update-checker-succeeded
151+
file: bosh-shared-ci/tasks/release/ensure-task-succeeded.yml
152+
image: bosh-security-scanner-registry-image
153+
input_mapping:
154+
task-output-folder: blob-updates
129155

130156
- name: create-final-release
131157
serial: true
132158
plan:
133159
- in_parallel:
160+
- get: version
161+
trigger: true
134162
- get: bosh-cli-registry-image
135163
- get: postgres-release
136164
passed:
137165
- run-acceptance-tests
138-
- get: final-release-trigger
139-
trigger: true
140-
passed:
141-
- automatically-release-new-patch
142-
- try:
143-
task: check-for-updated-blob
144-
file: postgres-release/ci/tasks/check-for-updated-blob/task.yml
145-
image: bosh-cli-registry-image
146-
params:
147-
BLOB: postgresql-16
166+
- get: release-notes
167+
- get: bosh-shared-ci
148168
- task: create-final-release
149-
file: postgres-release/ci/tasks/create-final-release/task.yml
150169
image: bosh-cli-registry-image
170+
file: bosh-shared-ci/tasks/release/create-final-release.yml
171+
input_mapping:
172+
release_repo: postgres-release
151173
params:
152-
RELEASE_NAME: postgres
153-
RELEASE_PRIVATE_YML: |
174+
GIT_USER_NAME: CI Bot
175+
GIT_USER_EMAIL: [email protected]
176+
PRIVATE_YML: |
154177
blobstore:
155178
options:
156179
access_key_id: ((postgres-release-blobstore-user.username))
157180
secret_access_key: ((postgres-release-blobstore-user.password))
158181
- put: postgres-release
159182
no_get: true
160183
params:
161-
repository: postgres-release
162-
tag: postgres-release/version_number
184+
repository: release_repo
185+
tag: release_metadata/tag-name
163186
- put: postgres-github-release
164187
params:
188+
name: release_metadata/tag-name
189+
tag: release_metadata/tag-name
165190
body: release-notes/release-notes.md
166-
commitish: postgres-release/.git/HEAD
191+
commitish: release_repo/.git/HEAD
167192
generate_release_notes: true
168-
name: postgres-release/version_number
169-
tag: postgres-release/version_number
193+
- put: release-notes
194+
params:
195+
file: release_metadata/empty-file
196+
197+
- name: release-new-patch
198+
serial_groups:
199+
- version
200+
plan:
201+
- put: version
202+
params:
203+
bump: patch
204+
205+
- name: release-new-minor
206+
serial_groups:
207+
- version
208+
plan:
209+
- put: version
210+
params:
211+
bump: minor
212+
213+
- name: release-new-major
214+
serial_groups:
215+
- version
216+
plan:
217+
- put: version
218+
params:
219+
bump: major
170220

171221
resources:
172222
- name: bbr-github-release
@@ -190,13 +240,12 @@ resources:
190240
username: ((dockerhub_username))
191241
password: ((dockerhub_password))
192242

193-
- name: final-release-trigger
194-
type: time
195-
196-
- name: golang-release
197-
type: git
243+
- name: bosh-security-scanner-registry-image
244+
type: registry-image
198245
source:
199-
uri: https://github.com/cloudfoundry/bosh-package-golang-release.git
246+
repository: bosh/security-scanner
247+
username: ((dockerhub_username))
248+
password: ((dockerhub_password))
200249

201250
- name: golang-release-registry-image
202251
type: registry-image
@@ -205,6 +254,17 @@ resources:
205254
username: ((dockerhub_username))
206255
password: ((dockerhub_password))
207256

257+
- name: bosh-shared-ci
258+
type: git
259+
source:
260+
uri: [email protected]:cloudfoundry/bosh-shared-ci.git
261+
private_key: ((github_deploy_key_bosh-shared-ci.private_key))
262+
263+
- name: golang-release
264+
type: git
265+
source:
266+
uri: https://github.com/cloudfoundry/bosh-package-golang-release.git
267+
208268
- name: postgres-13-src
209269
type: http-resource
210270
source:
@@ -259,8 +319,33 @@ resources:
259319
stop: 4:30
260320
days: [ Saturday ]
261321

322+
- name: release-notes
323+
type: gcs-resource
324+
source:
325+
bucket: postgres-release-pipeline
326+
json_key: ((gcp_json_key))
327+
versioned_file: release-notes.md
328+
329+
- name: version
330+
type: semver
331+
source:
332+
driver: git
333+
uri: [email protected]:cloudfoundry/postgres-release.git
334+
branch: release-semver
335+
file: VERSION
336+
private_key: ((github_deploy_key_postgres-release.private_key))
337+
262338
resource_types:
263339
- name: http-resource
264-
type: docker-image
340+
type: registry-image
265341
source:
266342
repository: aequitas/http-resource
343+
username: ((dockerhub_username))
344+
password: ((dockerhub_password))
345+
346+
- name: gcs-resource
347+
type: registry-image
348+
source:
349+
repository: frodenas/gcs-resource
350+
username: ((dockerhub_username))
351+
password: ((dockerhub_password))

ci/tasks/check-for-updated-blob/task.sh

Lines changed: 0 additions & 26 deletions
This file was deleted.

ci/tasks/check-for-updated-blob/task.yml

Lines changed: 0 additions & 14 deletions
This file was deleted.

ci/tasks/create-final-release/task.sh

Lines changed: 0 additions & 28 deletions
This file was deleted.

ci/tasks/create-final-release/task.yml

Lines changed: 0 additions & 16 deletions
This file was deleted.

0 commit comments

Comments
 (0)