Skip to content

Commit f6c80fe

Browse files
authored
Merge pull request #421 from ingvagabund/fbc-4.16
no-jira: [tekton]: Change build pipeline to use multi-arch matrix builds
2 parents bbca495 + 661a906 commit f6c80fe

File tree

2 files changed

+120
-74
lines changed

2 files changed

+120
-74
lines changed

.tekton/kube-descheduler-operator-fbc-4-16-pull-request.yaml

Lines changed: 60 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ spec:
3131
value: catalog.Dockerfile
3232
- name: path-context
3333
value: v4.16
34+
- name: build-platforms
35+
value:
36+
- linux/x86_64
37+
- linux/arm64
38+
- linux/ppc64le
39+
- linux/s390x
3440
pipelineSpec:
3541
description: |
3642
This pipeline is ideal for building and verifying [file-based catalogs](https://konflux-ci.dev/docs/advanced-how-tos/building-olm.adoc#building-the-file-based-catalog).
@@ -51,28 +57,6 @@ spec:
5157
- name: kind
5258
value: task
5359
resolver: bundles
54-
- name: show-summary
55-
params:
56-
- name: pipelinerun-name
57-
value: $(context.pipelineRun.name)
58-
- name: git-url
59-
value: $(tasks.clone-repository.results.url)?rev=$(tasks.clone-repository.results.commit)
60-
- name: image-url
61-
value: $(params.output-image)
62-
- name: build-task-status
63-
value: $(tasks.build-image-index.status)
64-
taskRef:
65-
params:
66-
- name: name
67-
value: summary
68-
- name: bundle
69-
value: quay.io/konflux-ci/tekton-catalog/task-summary:0.2@sha256:870d9a04d9784840a90b7bf6817cd0d0c4edfcda04b1ba1868cae625a3c3bfcc
70-
- name: kind
71-
value: task
72-
resolver: bundles
73-
workspaces:
74-
- name: workspace
75-
workspace: workspace
7660
params:
7761
- description: Source Repository URL
7862
name: git-url
@@ -114,14 +98,23 @@ spec:
11498
description: Image tag expiration time, time values could be something like
11599
1h, 2d, 3w for hours, days, and weeks, respectively.
116100
name: image-expires-after
117-
- default: "false"
101+
- default: "true"
118102
description: Build a source image.
119103
name: build-source-image
120104
type: string
121-
- default: "false"
105+
- default: "true"
122106
description: Add built image into an OCI image index
123107
name: build-image-index
124108
type: string
109+
- default:
110+
- linux/x86_64
111+
- linux/arm64
112+
- linux/ppc64le
113+
- linux/s390x
114+
description: List of platforms to build the container images on. The available
115+
set of values is determined by the configuration of the multi-platform-controller.
116+
name: build-platforms
117+
type: array
125118
results:
126119
- description: ""
127120
name: IMAGE_URL
@@ -159,14 +152,18 @@ spec:
159152
value: $(params.git-url)
160153
- name: revision
161154
value: $(params.revision)
155+
- name: ociStorage
156+
value: $(params.output-image).git
157+
- name: ociArtifactExpiresAfter
158+
value: $(params.image-expires-after)
162159
runAfter:
163160
- init
164161
taskRef:
165162
params:
166163
- name: name
167-
value: git-clone
164+
value: git-clone-oci-ta
168165
- name: bundle
169-
value: quay.io/konflux-ci/tekton-catalog/task-git-clone:0.1@sha256:d091a9e19567a4cbdc5acd57903c71ba71dc51d749a4ba7477e689608851e981
166+
value: quay.io/konflux-ci/tekton-catalog/task-git-clone-oci-ta:0.1@sha256:4bf48d038ff12d25bdeb5ab3e98dc2271818056f454c83d7393ebbd413028147
170167
- name: kind
171168
value: task
172169
resolver: bundles
@@ -176,11 +173,14 @@ spec:
176173
values:
177174
- "true"
178175
workspaces:
179-
- name: output
180-
workspace: workspace
181176
- name: basic-auth
182177
workspace: git-auth
183-
- name: build-container
178+
- matrix:
179+
params:
180+
- name: PLATFORM
181+
value:
182+
- $(params.build-platforms)
183+
name: build-images
184184
params:
185185
- name: IMAGE
186186
value: $(params.output-image)
@@ -194,14 +194,18 @@ spec:
194194
value: $(params.image-expires-after)
195195
- name: COMMIT_SHA
196196
value: $(tasks.clone-repository.results.commit)
197+
- name: SOURCE_ARTIFACT
198+
value: $(tasks.clone-repository.results.SOURCE_ARTIFACT)
199+
- name: IMAGE_APPEND_PLATFORM
200+
value: "true"
197201
runAfter:
198202
- clone-repository
199203
taskRef:
200204
params:
201205
- name: name
202-
value: buildah
206+
value: buildah-remote-oci-ta
203207
- name: bundle
204-
value: quay.io/konflux-ci/tekton-catalog/task-buildah:0.2@sha256:aebfe04c80f7fd937628fad760c095c6a0efacb048f2c98e5d5e7f2b0f134cf9
208+
value: quay.io/konflux-ci/tekton-catalog/task-buildah-remote-oci-ta:0.2@sha256:52a1a93cf99ab1f1092e983ac41b3684b7af004772d325e89b42e82e046bc7d1
205209
- name: kind
206210
value: task
207211
resolver: bundles
@@ -210,9 +214,6 @@ spec:
210214
operator: in
211215
values:
212216
- "true"
213-
workspaces:
214-
- name: source
215-
workspace: workspace
216217
- name: build-image-index
217218
params:
218219
- name: IMAGE
@@ -225,15 +226,15 @@ spec:
225226
value: $(params.build-image-index)
226227
- name: IMAGES
227228
value:
228-
- $(tasks.build-container.results.IMAGE_URL)@$(tasks.build-container.results.IMAGE_DIGEST)
229+
- $(tasks.build-images.results.IMAGE_REF[*])
229230
runAfter:
230-
- build-container
231+
- build-images
231232
taskRef:
232233
params:
233234
- name: name
234235
value: build-image-index
235236
- name: bundle
236-
value: quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.1@sha256:a89c141c8d35b2e9d9904c92c9b128f7ccf36681adac7f7422b4537b8bb077e7
237+
value: quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.1@sha256:ebc17bb22481160eec6eb7277df1e48b90f599bebe563cd4f046807f4e32ced3
237238
- name: kind
238239
value: task
239240
resolver: bundles
@@ -351,6 +352,28 @@ spec:
351352
workspaces:
352353
- name: workspace
353354
workspace: workspace
355+
- name: rpms-signature-scan
356+
params:
357+
- name: image-url
358+
value: $(tasks.build-image-index.results.IMAGE_URL)
359+
- name: image-digest
360+
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
361+
runAfter:
362+
- build-image-index
363+
taskRef:
364+
params:
365+
- name: name
366+
value: rpms-signature-scan
367+
- name: bundle
368+
value: quay.io/konflux-ci/tekton-catalog/task-rpms-signature-scan:0.2@sha256:28aaf87d61078a0aeeeabcae455eda7d05c4f9b81d8995bdcf3dde95c1a7a77b
369+
- name: kind
370+
value: task
371+
resolver: bundles
372+
when:
373+
- input: $(params.skip-checks)
374+
operator: in
375+
values:
376+
- "false"
354377
workspaces:
355378
- name: workspace
356379
- name: git-auth

.tekton/kube-descheduler-operator-fbc-4-16-push.yaml

Lines changed: 60 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ spec:
2727
value: catalog.Dockerfile
2828
- name: path-context
2929
value: v4.16
30+
- name: build-platforms
31+
value:
32+
- linux/x86_64
33+
- linux/arm64
34+
- linux/ppc64le
35+
- linux/s390x
3036
pipelineSpec:
3137
description: |
3238
This pipeline is ideal for building and verifying [file-based catalogs](https://konflux-ci.dev/docs/advanced-how-tos/building-olm.adoc#building-the-file-based-catalog).
@@ -47,28 +53,6 @@ spec:
4753
- name: kind
4854
value: task
4955
resolver: bundles
50-
- name: show-summary
51-
params:
52-
- name: pipelinerun-name
53-
value: $(context.pipelineRun.name)
54-
- name: git-url
55-
value: $(tasks.clone-repository.results.url)?rev=$(tasks.clone-repository.results.commit)
56-
- name: image-url
57-
value: $(params.output-image)
58-
- name: build-task-status
59-
value: $(tasks.build-image-index.status)
60-
taskRef:
61-
params:
62-
- name: name
63-
value: summary
64-
- name: bundle
65-
value: quay.io/konflux-ci/tekton-catalog/task-summary:0.2@sha256:870d9a04d9784840a90b7bf6817cd0d0c4edfcda04b1ba1868cae625a3c3bfcc
66-
- name: kind
67-
value: task
68-
resolver: bundles
69-
workspaces:
70-
- name: workspace
71-
workspace: workspace
7256
params:
7357
- description: Source Repository URL
7458
name: git-url
@@ -110,14 +94,23 @@ spec:
11094
description: Image tag expiration time, time values could be something like
11195
1h, 2d, 3w for hours, days, and weeks, respectively.
11296
name: image-expires-after
113-
- default: "false"
97+
- default: "true"
11498
description: Build a source image.
11599
name: build-source-image
116100
type: string
117-
- default: "false"
101+
- default: "true"
118102
description: Add built image into an OCI image index
119103
name: build-image-index
120104
type: string
105+
- default:
106+
- linux/x86_64
107+
- linux/arm64
108+
- linux/ppc64le
109+
- linux/s390x
110+
description: List of platforms to build the container images on. The available
111+
set of values is determined by the configuration of the multi-platform-controller.
112+
name: build-platforms
113+
type: array
121114
results:
122115
- description: ""
123116
name: IMAGE_URL
@@ -155,14 +148,18 @@ spec:
155148
value: $(params.git-url)
156149
- name: revision
157150
value: $(params.revision)
151+
- name: ociStorage
152+
value: $(params.output-image).git
153+
- name: ociArtifactExpiresAfter
154+
value: $(params.image-expires-after)
158155
runAfter:
159156
- init
160157
taskRef:
161158
params:
162159
- name: name
163-
value: git-clone
160+
value: git-clone-oci-ta
164161
- name: bundle
165-
value: quay.io/konflux-ci/tekton-catalog/task-git-clone:0.1@sha256:d091a9e19567a4cbdc5acd57903c71ba71dc51d749a4ba7477e689608851e981
162+
value: quay.io/konflux-ci/tekton-catalog/task-git-clone-oci-ta:0.1@sha256:4bf48d038ff12d25bdeb5ab3e98dc2271818056f454c83d7393ebbd413028147
166163
- name: kind
167164
value: task
168165
resolver: bundles
@@ -172,11 +169,14 @@ spec:
172169
values:
173170
- "true"
174171
workspaces:
175-
- name: output
176-
workspace: workspace
177172
- name: basic-auth
178173
workspace: git-auth
179-
- name: build-container
174+
- matrix:
175+
params:
176+
- name: PLATFORM
177+
value:
178+
- $(params.build-platforms)
179+
name: build-images
180180
params:
181181
- name: IMAGE
182182
value: $(params.output-image)
@@ -190,14 +190,18 @@ spec:
190190
value: $(params.image-expires-after)
191191
- name: COMMIT_SHA
192192
value: $(tasks.clone-repository.results.commit)
193+
- name: SOURCE_ARTIFACT
194+
value: $(tasks.clone-repository.results.SOURCE_ARTIFACT)
195+
- name: IMAGE_APPEND_PLATFORM
196+
value: "true"
193197
runAfter:
194198
- clone-repository
195199
taskRef:
196200
params:
197201
- name: name
198-
value: buildah
202+
value: buildah-remote-oci-ta
199203
- name: bundle
200-
value: quay.io/konflux-ci/tekton-catalog/task-buildah:0.2@sha256:aebfe04c80f7fd937628fad760c095c6a0efacb048f2c98e5d5e7f2b0f134cf9
204+
value: quay.io/konflux-ci/tekton-catalog/task-buildah-remote-oci-ta:0.2@sha256:52a1a93cf99ab1f1092e983ac41b3684b7af004772d325e89b42e82e046bc7d1
201205
- name: kind
202206
value: task
203207
resolver: bundles
@@ -206,9 +210,6 @@ spec:
206210
operator: in
207211
values:
208212
- "true"
209-
workspaces:
210-
- name: source
211-
workspace: workspace
212213
- name: build-image-index
213214
params:
214215
- name: IMAGE
@@ -221,15 +222,15 @@ spec:
221222
value: $(params.build-image-index)
222223
- name: IMAGES
223224
value:
224-
- $(tasks.build-container.results.IMAGE_URL)@$(tasks.build-container.results.IMAGE_DIGEST)
225+
- $(tasks.build-images.results.IMAGE_REF[*])
225226
runAfter:
226-
- build-container
227+
- build-images
227228
taskRef:
228229
params:
229230
- name: name
230231
value: build-image-index
231232
- name: bundle
232-
value: quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.1@sha256:a89c141c8d35b2e9d9904c92c9b128f7ccf36681adac7f7422b4537b8bb077e7
233+
value: quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.1@sha256:ebc17bb22481160eec6eb7277df1e48b90f599bebe563cd4f046807f4e32ced3
233234
- name: kind
234235
value: task
235236
resolver: bundles
@@ -347,6 +348,28 @@ spec:
347348
workspaces:
348349
- name: workspace
349350
workspace: workspace
351+
- name: rpms-signature-scan
352+
params:
353+
- name: image-url
354+
value: $(tasks.build-image-index.results.IMAGE_URL)
355+
- name: image-digest
356+
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
357+
runAfter:
358+
- build-image-index
359+
taskRef:
360+
params:
361+
- name: name
362+
value: rpms-signature-scan
363+
- name: bundle
364+
value: quay.io/konflux-ci/tekton-catalog/task-rpms-signature-scan:0.2@sha256:28aaf87d61078a0aeeeabcae455eda7d05c4f9b81d8995bdcf3dde95c1a7a77b
365+
- name: kind
366+
value: task
367+
resolver: bundles
368+
when:
369+
- input: $(params.skip-checks)
370+
operator: in
371+
values:
372+
- "false"
350373
workspaces:
351374
- name: workspace
352375
- name: git-auth

0 commit comments

Comments
 (0)