From 9e57ab72fca760eccb4efbab190cb8240ca1329d Mon Sep 17 00:00:00 2001 From: Katrina Verey Date: Mon, 28 Mar 2022 15:12:12 -0400 Subject: [PATCH] Copy newer Go into goreleaser image --- releasing/cloudbuild.yaml | 10 ++++++++++ releasing/run-goreleaser.sh | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/releasing/cloudbuild.yaml b/releasing/cloudbuild.yaml index 3349ecc6cb..8ed4621c9a 100644 --- a/releasing/cloudbuild.yaml +++ b/releasing/cloudbuild.yaml @@ -37,6 +37,14 @@ steps: - checkout - $TAG_NAME +# Copy a newer version of Go into the goreleaser workspace. +# Use the same source image as the builder in kustomize.Dockerfile +- name: golang:alpine + entrypoint: /bin/sh + args: + - '-c' + - 'mkdir -p /workspace/bin && cp $(go env GOROOT)/bin/go /workspace/bin' + # Run goreleaser indirectly via a shell script # to configure it properly. - name: goreleaser/goreleaser:v0.179.0 @@ -44,6 +52,8 @@ steps: entrypoint: /bin/sh dir: myClone secretEnv: ['GITHUB_TOKEN'] + env: + - 'GO_BINARY_PATH=/workspace/bin/go' args: - releasing/cloudbuild.sh - $TAG_NAME diff --git a/releasing/run-goreleaser.sh b/releasing/run-goreleaser.sh index f377ceef9d..7f51728de4 100755 --- a/releasing/run-goreleaser.sh +++ b/releasing/run-goreleaser.sh @@ -51,6 +51,16 @@ echo "module=$module" semVer=${fullTag#$module/} echo "semVer=$semVer" +# Because of https://github.com/kubernetes-sigs/kustomize/issues/4542 +# we need to manually install a newer version of Go into an older goreleaser image. +# This points goreleaser to that version of Go, or the version discovered from PATH if unspecified. +goBinary="go" +if [[ -n "${GO_BINARY_PATH:-}" ]]; then + echo "GO_BINARY_PATH is set, using go version from $GO_BINARY_PATH" + goBinary="$GO_BINARY_PATH" +fi +sh -c "$goBinary version" + # Generate the changelog for this release # using the last two tags for the module changeLogFile=$(mktemp) @@ -101,6 +111,8 @@ builds: -X sigs.k8s.io/kustomize/api/provenance.gitCommit={{.Commit}} -X sigs.k8s.io/kustomize/api/provenance.buildDate={{.Date}} + gobinary: ${goBinary} + goos: - linux - darwin