Skip to content

Commit

Permalink
Copy newer Go into goreleaser image
Browse files Browse the repository at this point in the history
  • Loading branch information
KnVerey committed Mar 28, 2022
1 parent 5833f4c commit 9e57ab7
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
10 changes: 10 additions & 0 deletions releasing/cloudbuild.yaml
Expand Up @@ -37,13 +37,23 @@ 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
timeout: 12m
entrypoint: /bin/sh
dir: myClone
secretEnv: ['GITHUB_TOKEN']
env:
- 'GO_BINARY_PATH=/workspace/bin/go'
args:
- releasing/cloudbuild.sh
- $TAG_NAME
Expand Down
12 changes: 12 additions & 0 deletions releasing/run-goreleaser.sh
Expand Up @@ -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)
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 9e57ab7

Please sign in to comment.