From fca09da843566822c40557e18c51bf40fbc3a8c9 Mon Sep 17 00:00:00 2001 From: Scott Date: Thu, 13 Jan 2022 12:01:56 -0500 Subject: [PATCH] Pass explicit platforms list when publishing images Prior to this commit the pipeline-release Pipeline relied on default params to ensure that the publish-release task emits a windows entrypoint image. It looks like this no longer works because the dogfooding cluster is using alpha API fields, including implicit params. With implicit params it is not possible to _skip_ a param in a PipelineTask if it shares a name with a Param in the Pipeline. So before we were intentionally omitting the platforms param and relying on the default param value in the publish-release Task but with implicit params this is no longer possible. This commit overrides the param passed to publish-release with the full string of platforms including windows. We don't want to update the Pipeline's `platforms` param because our build-images PipelineTask can't build the windows image. Confusing. --- tekton/release-pipeline.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tekton/release-pipeline.yaml b/tekton/release-pipeline.yaml index f2525edf115..7827b35d026 100644 --- a/tekton/release-pipeline.yaml +++ b/tekton/release-pipeline.yaml @@ -136,9 +136,13 @@ spec: value: $(params.releaseAsLatest) - name: serviceAccountPath value: $(params.serviceAccountPath) - # NOTE: We're purposefully *not* passing the pipeline's platforms to - # this task. We want to use the task's default platforms, which include - # windows. + - name: platforms + # Important: This param value includes windows, which differs + # from the platforms param defined at the top of this release + # pipeline. The reason for this is that the build-images + # PipelineTask doesn't build the windows base image, but the + # publish-release PipelineTask does. + value: linux/amd64,linux/arm,linux/arm64,linux/s390x,linux/ppc64le,windows/amd64 workspaces: - name: source workspace: workarea