11---
2- apiVersion : tekton.dev/v1beta1
2+ apiVersion : tekton.dev/v1
33kind : Pipeline
44metadata :
55 name : triggers-release
88 - name : package
99 description : package to release
1010 default : github.com/tektoncd/triggers
11+ - name : repoName
12+ description : repository name (e.g., pipeline, triggers, etc.)
13+ default : triggers
1114 - name : gitRevision
1215 description : the git revision to release
1316 - name : imageRegistry
1417 description : The target image registry
15- default : gcr .io
18+ default : ghcr .io
1619 - name : imageRegistryPath
1720 description : The path (project) in the image registry
1821 default : tekton-releases
1922 - name : imageRegistryRegions
2023 description : The target image registry regions
21- default : " us eu asia"
24+ default : " " # Empty for GHCR, " us eu asia" for GCR
2225 - name : imageRegistryUser
2326 description : The user for the image registry credentials
2427 default : _json_key
2528 - name : versionTag
2629 description : The X.Y.Z version that the artifacts should be tagged with
2730 - name : releaseBucket
2831 description : bucket where the release is stored. The bucket must be project specific.
29- default : gs:// tekton-releases- nightly/triggers
32+ default : tekton-nightly
3033 - name : releaseAsLatest
3134 description : Whether to tag and publish this release as Triggers' latest
3235 default : " true"
3639 - name : koExtraArgs
3740 description : Extra args to be passed to ko
3841 default : " --preserve-import-paths"
39- - name : serviceAccountPath
40- description : The path to the service account file within the release-secret workspace
4142 - name : serviceAccountImagesPath
4243 description : The path to the service account file or credentials within the release-images-secret workspace
4344 - name : runTests
@@ -69,45 +70,47 @@ spec:
6970 tasks :
7071 - name : git-clone
7172 taskRef :
72- resolver : hub
73+ resolver : bundles
7374 params :
75+ - name : bundle
76+ value : ghcr.io/tektoncd/catalog/upstream/tasks/git-clone:0.7
7477 - name : name
7578 value : git-clone
76- - name : version
77- value : " 0.7 "
79+ - name : kind
80+ value : task
7881 workspaces :
79- - name : output
80- workspace : workarea
81- subPath : git
82+ - name : output
83+ workspace : workarea
84+ subPath : git
8285 params :
83- - name : url
84- value : https://$(params.package)
85- - name : revision
86- value : $(params.gitRevision)
87- - name : prerelease-precheck
86+ - name : url
87+ value : https://$(params.package)
88+ - name : revision
89+ value : $(params.gitRevision)
90+
91+ - name : precheck
8892 runAfter : [git-clone]
8993 taskRef :
9094 resolver : git
9195 params :
92- - name : repo
93- value : plumbing
94- - name : org
95- value : tektoncd
96+ - name : url
97+ value : https://github.com/tektoncd/plumbing
9698 - name : revision
9799 value : aeed19e5a36f335ebfdc4b96fa78d1ce5bb4f7b8
98100 - name : pathInRepo
99101 value : tekton/resources/release/base/prerelease_checks.yaml
100102 params :
101- - name : package
102- value : $(params.package)
103- - name : versionTag
104- value : $(params.versionTag)
105- - name : releaseBucket
106- value : $(params.releaseBucket)
103+ - name : package
104+ value : $(params.package)
105+ - name : versionTag
106+ value : $(params.versionTag)
107+ - name : releaseBucket
108+ value : $(params.releaseBucket)
107109 workspaces :
108- - name : source-to-release
109- workspace : workarea
110- subPath : git
110+ - name : source-to-release
111+ workspace : workarea
112+ subPath : git
113+
111114 - name : unit-tests
112115 runAfter : [prerelease-precheck]
113116 when :
@@ -130,6 +133,7 @@ spec:
130133 - name : source
131134 workspace : workarea
132135 subPath : git
136+
133137 - name : build
134138 runAfter : [prerelease-precheck]
135139 when :
@@ -152,6 +156,7 @@ spec:
152156 - name : source
153157 workspace : workarea
154158 subPath : git
159+
155160 - name : publish-images
156161 runAfter : [build, unit-tests]
157162 taskRef :
@@ -195,60 +200,71 @@ spec:
195200 subPath : bucket
196201 - name : release-secret
197202 workspace : release-images-secret
203+
198204 - name : publish-to-bucket
199205 runAfter : [publish-images]
200206 taskRef :
201207 resolver : bundles
202208 params :
203209 - name : bundle
204- value : ghcr.io/tektoncd/catalog/upstream/tasks/gcs- upload:0.3
210+ value : ghcr.io/tektoncd/catalog/upstream/tasks/oracle-cloud-storage- upload:0.1
205211 - name : name
206- value : gcs -upload
212+ value : oracle-cloud-storage -upload
207213 - name : kind
208214 value : task
209215 workspaces :
210- - name : credentials
211- workspace : release-secret
212- - name : source
213- workspace : workarea
214- subPath : bucket
216+ - name : credentials
217+ workspace : release-secret
218+ - name : source
219+ workspace : workarea
220+ subPath : bucket
215221 params :
216- - name : location
217- value : $(params.releaseBucket)/previous/$(params.versionTag)
218- - name : path
219- value : $(params.versionTag)
220- - name : serviceAccountPath
221- value : $(params.serviceAccountPath)
222+ - name : path
223+ value : $(params.versionTag)
224+ - name : bucketName
225+ value : $(params.releaseBucket)
226+ - name : objectPrefix
227+ value : $(params.repoName)/previous/$(params.versionTag)/
228+ - name : replaceExistingFiles
229+ value : " true"
230+ - name : recursive
231+ value : " true"
232+
222233 - name : publish-to-bucket-latest
223234 runAfter : [publish-images]
224235 when :
225- - input : " $(params.releaseAsLatest)"
226- operator : in
227- values : ["true"]
236+ - input : " $(params.releaseAsLatest)"
237+ operator : in
238+ values : ["true"]
228239 taskRef :
229240 resolver : bundles
230241 params :
231242 - name : bundle
232- value : ghcr.io/tektoncd/catalog/upstream/tasks/gcs- upload:0.3
243+ value : ghcr.io/tektoncd/catalog/upstream/tasks/oracle-cloud-storage- upload:0.1
233244 - name : name
234- value : gcs -upload
245+ value : oracle-cloud-storage -upload
235246 - name : kind
236247 value : task
237248 workspaces :
238- - name : credentials
239- workspace : release-secret
240- - name : source
241- workspace : workarea
242- subPath : bucket
249+ - name : credentials
250+ workspace : release-secret
251+ - name : source
252+ workspace : workarea
253+ subPath : bucket
243254 params :
244- - name : location
245- value : $(params.releaseBucket)/latest
246- - name : path
247- value : $(params.versionTag)
248- - name : serviceAccountPath
249- value : $(params.serviceAccountPath)
250- - name : deleteExtraFiles
251- value : " true" # Uses rsync to copy content into latest
255+ - name : path
256+ value : $(params.versionTag)
257+ - name : bucketName
258+ value : $(params.releaseBucket)
259+ - name : objectPrefix
260+ value : $(params.repoName)/latest/
261+ - name : replaceExistingFiles
262+ value : " true"
263+ - name : recursive
264+ value : " true"
265+ - name : deleteExtraFiles
266+ value : " true" # Uses sync to copy content into latest
267+
252268 - name : report-bucket
253269 runAfter : [publish-to-bucket]
254270 params :
@@ -277,10 +293,12 @@ spec:
277293 value : $(params.releaseBucket)
278294 - name : VERSION_TAG
279295 value : $(params.versionTag)
296+ - name : REPO_NAME
297+ value : $(params.repoName)
280298 script : |
281- BASE_URL=$(echo "${RELEASE_BUCKET}/previous/${VERSION_TAG}")
282- # If the bucket is in the gs :// return the corresponding public https URL
283- BASE_URL=$(echo ${BASE_URL} | sed 's,gs://, https://storage.googleapis.com/,g')
299+ # Oracle Cloud Storage: Construct public URL
300+ # Format: https ://infra.tekton.dev/<releaseBucket>/<repoName>/previous/<versionTag>
301+ BASE_URL=" https://infra.tekton.dev/${RELEASE_BUCKET}/${REPO_NAME}/previous/${VERSION_TAG}"
284302 echo "${BASE_URL}/release.yaml" > $(results.release.path)
285303 echo "${BASE_URL}/release.notags.yaml" > $(results.release-no-tag.path)
286304 echo "${BASE_URL}/interceptors.yaml" > $(results.interceptors.path)
0 commit comments