510 lines
16 KiB
YAML
510 lines
16 KiB
YAML
apiVersion: tekton.dev/v1
|
|
kind: Pipeline
|
|
metadata:
|
|
name: ostree-build
|
|
spec:
|
|
finally:
|
|
- name: show-summary
|
|
params:
|
|
- name: pipelinerun-name
|
|
value: $(context.pipelineRun.name)
|
|
- name: git-url
|
|
value: $(tasks.clone-repository.results.url)?rev=$(tasks.clone-repository.results.commit)
|
|
- name: image-url
|
|
value: $(params.output-image)
|
|
- name: build-task-status
|
|
value: $(tasks.build-container.status)
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: summary
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-summary:0.1@sha256:f65a69aaf71cbab382eff685eee522ad35068a4d91d233e76cef7d42ff15a686
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
params:
|
|
- description: Source Repository URL
|
|
name: git-url
|
|
type: string
|
|
- default: ""
|
|
description: Revision of the Source Repository
|
|
name: revision
|
|
type: string
|
|
- description: Fully Qualified Output Image
|
|
name: output-image
|
|
type: string
|
|
- default: .
|
|
description:
|
|
Path to the source code of an application's component from where
|
|
to build image.
|
|
name: path-context
|
|
type: string
|
|
- description:
|
|
Path to the image file inside the context specified by parameter
|
|
path-context
|
|
name: image-file
|
|
type: string
|
|
- default: "false"
|
|
description: Force rebuild image
|
|
name: rebuild
|
|
type: string
|
|
- default: "false"
|
|
description: Skip checks against built image
|
|
name: skip-checks
|
|
type: string
|
|
- default: "true"
|
|
description: Skip optional checks, set false if you want to run optional checks
|
|
name: skip-optional
|
|
type: string
|
|
- default: "false"
|
|
description: Execute the build with network isolation
|
|
name: hermetic
|
|
type: string
|
|
- default: ""
|
|
description: Build dependencies to be prefetched by Cachi2
|
|
name: prefetch-input
|
|
type: string
|
|
- default: "false"
|
|
description: Java build
|
|
name: java
|
|
type: string
|
|
- default: ""
|
|
description:
|
|
Image tag expiration time, time values could be something like
|
|
1h, 2d, 3w for hours, days, and weeks, respectively.
|
|
name: image-expires-after
|
|
results:
|
|
- description: ""
|
|
name: IMAGE_URL
|
|
value: $(tasks.build-container.results.IMAGE_URL)
|
|
- description: ""
|
|
name: IMAGE_DIGEST
|
|
value: $(tasks.build-container.results.IMAGE_DIGEST)
|
|
- description: ""
|
|
name: CHAINS-GIT_URL
|
|
value: $(tasks.clone-repository.results.url)
|
|
- description: ""
|
|
name: CHAINS-GIT_COMMIT
|
|
value: $(tasks.clone-repository.results.commit)
|
|
tasks:
|
|
- name: init
|
|
params:
|
|
- name: image-url
|
|
value: $(params.output-image)
|
|
- name: rebuild
|
|
value: $(params.rebuild)
|
|
- name: skip-checks
|
|
value: $(params.skip-checks)
|
|
- name: skip-optional
|
|
value: $(params.skip-optional)
|
|
- name: pipelinerun-name
|
|
value: $(context.pipelineRun.name)
|
|
- name: pipelinerun-uid
|
|
value: $(context.pipelineRun.uid)
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: init
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-init:0.1@sha256:c35cc37d6f40fef0f2ed614b502b058e13fe7af29c0888bc4799fd625b6f3374
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
- name: clone-repository
|
|
params:
|
|
- name: url
|
|
value: $(params.git-url)
|
|
- name: revision
|
|
value: $(params.revision)
|
|
runAfter:
|
|
- init
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: git-clone
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-git-clone:0.1@sha256:b8fddc2d36313a5cde93aba2491205f4a84e6853af6c34ede681f8339b147478
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(tasks.init.results.build)
|
|
operator: in
|
|
values:
|
|
- "true"
|
|
workspaces:
|
|
- name: output
|
|
workspace: workspace
|
|
- name: basic-auth
|
|
workspace: git-auth
|
|
- name: clone-repository-arm64
|
|
params:
|
|
- name: url
|
|
value: $(params.git-url)
|
|
- name: revision
|
|
value: $(params.revision)
|
|
runAfter:
|
|
- init
|
|
taskRef:
|
|
kind: Task
|
|
params:
|
|
- name: name
|
|
value: git-clone
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-git-clone:0.1@sha256:b8fddc2d36313a5cde93aba2491205f4a84e6853af6c34ede681f8339b147478
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(tasks.init.results.build)
|
|
operator: in
|
|
values:
|
|
- "true"
|
|
workspaces:
|
|
- name: output
|
|
workspace: workspace-arm64
|
|
- name: basic-auth
|
|
workspace: git-auth
|
|
- name: clone-repository-s390x
|
|
params:
|
|
- name: url
|
|
value: $(params.git-url)
|
|
- name: revision
|
|
value: $(params.revision)
|
|
runAfter:
|
|
- init
|
|
taskRef:
|
|
kind: Task
|
|
params:
|
|
- name: name
|
|
value: git-clone
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-git-clone:0.1@sha256:b8fddc2d36313a5cde93aba2491205f4a84e6853af6c34ede681f8339b147478
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(tasks.init.results.build)
|
|
operator: in
|
|
values:
|
|
- "true"
|
|
workspaces:
|
|
- name: output
|
|
workspace: workspace-s390x
|
|
- name: basic-auth
|
|
workspace: git-auth
|
|
- name: clone-repository-ppc64le
|
|
params:
|
|
- name: url
|
|
value: $(params.git-url)
|
|
- name: revision
|
|
value: $(params.revision)
|
|
runAfter:
|
|
- init
|
|
taskRef:
|
|
kind: Task
|
|
params:
|
|
- name: name
|
|
value: git-clone
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-git-clone:0.1@sha256:b8fddc2d36313a5cde93aba2491205f4a84e6853af6c34ede681f8339b147478
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(tasks.init.results.build)
|
|
operator: in
|
|
values:
|
|
- "true"
|
|
workspaces:
|
|
- name: output
|
|
workspace: workspace-ppc64le
|
|
- name: basic-auth
|
|
workspace: git-auth
|
|
- name: build-container-amd64
|
|
params:
|
|
- name: IMAGE
|
|
value: $(params.output-image)-amd64
|
|
- name: IMAGE_FILE
|
|
value: $(params.image-file)
|
|
- name: CONTEXT
|
|
value: $(params.path-context)
|
|
- name: IMAGE_EXPIRES_AFTER
|
|
value: $(params.image-expires-after)
|
|
- name: COMMIT_SHA
|
|
value: $(tasks.clone-repository.results.commit)
|
|
- name: PLATFORM
|
|
value: linux/amd64
|
|
- name: BUILDER_IMAGE
|
|
value: quay.io/centos-bootc/builder:latest
|
|
runAfter:
|
|
- clone-repository
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: rpm-ostree
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-rpm-ostree:0.1@sha256:f832549c847a64739945219977056058fff2316cc8bc473b6104eaec8740ed49
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(tasks.init.results.build)
|
|
operator: in
|
|
values:
|
|
- "true"
|
|
workspaces:
|
|
- name: source
|
|
workspace: workspace
|
|
- name: build-container-arm64
|
|
params:
|
|
- name: IMAGE
|
|
value: $(params.output-image)-arm64
|
|
- name: IMAGE_FILE
|
|
value: $(params.image-file)
|
|
- name: CONTEXT
|
|
value: $(params.path-context)
|
|
- name: IMAGE_EXPIRES_AFTER
|
|
value: $(params.image-expires-after)
|
|
- name: COMMIT_SHA
|
|
value: $(tasks.clone-repository.results.commit)
|
|
- name: PLATFORM
|
|
value: linux/arm64
|
|
- name: BUILDER_IMAGE
|
|
value: quay.io/centos-bootc/builder:latest
|
|
runAfter:
|
|
- clone-repository-arm64
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: rpm-ostree
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-rpm-ostree:0.1@sha256:f832549c847a64739945219977056058fff2316cc8bc473b6104eaec8740ed49
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(tasks.init.results.build)
|
|
operator: in
|
|
values:
|
|
- "true"
|
|
workspaces:
|
|
- name: source
|
|
workspace: workspace-arm64
|
|
- name: build-container-s390x
|
|
params:
|
|
- name: IMAGE
|
|
value: $(params.output-image)-s390x
|
|
- name: IMAGE_FILE
|
|
value: $(params.image-file)
|
|
- name: CONTEXT
|
|
value: $(params.path-context)
|
|
- name: IMAGE_EXPIRES_AFTER
|
|
value: $(params.image-expires-after)
|
|
- name: COMMIT_SHA
|
|
value: $(tasks.clone-repository.results.commit)
|
|
- name: PLATFORM
|
|
value: linux/s390x
|
|
- name: BUILDER_IMAGE
|
|
value: quay.io/centos-bootc/builder:latest
|
|
runAfter:
|
|
- clone-repository-s390x
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: rpm-ostree
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-rpm-ostree:0.1@sha256:f832549c847a64739945219977056058fff2316cc8bc473b6104eaec8740ed49
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(tasks.init.results.build)
|
|
operator: in
|
|
values:
|
|
- "true"
|
|
workspaces:
|
|
- name: source
|
|
workspace: workspace-s390x
|
|
- name: build-container-ppc64le
|
|
params:
|
|
- name: IMAGE
|
|
value: $(params.output-image)-ppc64le
|
|
- name: IMAGE_FILE
|
|
value: $(params.image-file)
|
|
- name: CONTEXT
|
|
value: $(params.path-context)
|
|
- name: IMAGE_EXPIRES_AFTER
|
|
value: $(params.image-expires-after)
|
|
- name: COMMIT_SHA
|
|
value: $(tasks.clone-repository.results.commit)
|
|
- name: PLATFORM
|
|
value: linux/ppc64le
|
|
- name: BUILDER_IMAGE
|
|
value: quay.io/centos-bootc/builder:latest
|
|
runAfter:
|
|
- clone-repository-ppc64le
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: rpm-ostree
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-rpm-ostree:0.1@sha256:f832549c847a64739945219977056058fff2316cc8bc473b6104eaec8740ed49
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(tasks.init.results.build)
|
|
operator: in
|
|
values:
|
|
- "true"
|
|
workspaces:
|
|
- name: source
|
|
workspace: workspace-ppc64le
|
|
- name: build-container
|
|
params:
|
|
- name: IMAGE
|
|
value: $(params.output-image)
|
|
- name: COMMIT_SHA
|
|
value: $(tasks.clone-repository.results.commit)
|
|
- name: IMAGES
|
|
value:
|
|
- $(tasks.build-container-amd64.results.IMAGE_URL)@$(tasks.build-container-amd64.results.IMAGE_DIGEST)
|
|
- $(tasks.build-container-arm64.results.IMAGE_URL)@$(tasks.build-container-arm64.results.IMAGE_DIGEST)
|
|
- $(tasks.build-container-s390x.results.IMAGE_URL)@$(tasks.build-container-s390x.results.IMAGE_DIGEST)
|
|
- $(tasks.build-container-ppc64le.results.IMAGE_URL)@$(tasks.build-container-ppc64le.results.IMAGE_DIGEST)
|
|
runAfter:
|
|
- build-container-amd64
|
|
- build-container-arm64
|
|
- build-container-s390x
|
|
- build-container-ppc64le
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: build-image-manifest
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-build-image-manifest:0.1@sha256:38750364fc669cabf741e8be3459b3d9dfc569a2be342befabe28a800eee22d4
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(tasks.init.results.build)
|
|
operator: in
|
|
values:
|
|
- "true"
|
|
- name: inspect-image
|
|
params:
|
|
- name: IMAGE_URL
|
|
value: $(tasks.build-container.results.IMAGE_URL)
|
|
- name: IMAGE_DIGEST
|
|
value: $(tasks.build-container.results.IMAGE_DIGEST)
|
|
runAfter:
|
|
- build-container
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: inspect-image
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-inspect-image:0.1@sha256:ab050621d5f6addf0b6c07451e91a6b134b4d5f402c780abdbf9842a8ff18504
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(params.skip-checks)
|
|
operator: in
|
|
values:
|
|
- "false"
|
|
workspaces:
|
|
- name: source
|
|
workspace: workspace
|
|
- name: deprecated-base-image-check
|
|
params:
|
|
- name: BASE_IMAGES_DIGESTS
|
|
value: $(tasks.build-container-amd64.results.BASE_IMAGES_DIGESTS)
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: deprecated-image-check
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-deprecated-image-check:0.3@sha256:d87f8c50a674f57527a0c4f3df6d9093941a2ae84739b55368b3c11702ce340c
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(params.skip-checks)
|
|
operator: in
|
|
values:
|
|
- "false"
|
|
- name: clair-scan
|
|
params:
|
|
- name: image-digest
|
|
value: $(tasks.build-container.results.IMAGE_DIGEST)
|
|
- name: image-url
|
|
value: $(tasks.build-container.results.IMAGE_URL)
|
|
runAfter:
|
|
- build-container
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: clair-scan
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-clair-scan:0.1@sha256:fbe1ab58531d856fba360060d3884a0606310a966e2d01ba9305da9eb01ab916
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(params.skip-checks)
|
|
operator: in
|
|
values:
|
|
- "false"
|
|
- name: sast-snyk-check
|
|
runAfter:
|
|
- clone-repository
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: sast-snyk-check
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-sast-snyk-check:0.1@sha256:eee508768b14655275fbcc2f42f9da1ab553b872dcbe113b0896aa9bcf7e1adf
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(params.skip-checks)
|
|
operator: in
|
|
values:
|
|
- "false"
|
|
workspaces:
|
|
- name: workspace
|
|
workspace: workspace
|
|
- name: sbom-json-check
|
|
params:
|
|
- name: IMAGE_URL
|
|
value: $(tasks.build-container.results.IMAGE_URL)
|
|
- name: IMAGE_DIGEST
|
|
value: $(tasks.build-container.results.IMAGE_DIGEST)
|
|
runAfter:
|
|
- build-container
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: sbom-json-check
|
|
- name: bundle
|
|
value: quay.io/redhat-appstudio-tekton-catalog/task-sbom-json-check:0.1@sha256:717e6e33f02dbe1a28fb743f32699e002c944680c251a50b644f27becb9208e9
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(params.skip-checks)
|
|
operator: in
|
|
values:
|
|
- "false"
|
|
workspaces:
|
|
- name: workspace
|
|
- name: workspace-arm64
|
|
- name: workspace-s390x
|
|
- name: workspace-ppc64le
|
|
- name: git-auth
|
|
optional: true
|