mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-11 17:12:51 +00:00
Install goreleaser into go 1.18 image for build
This commit is contained in:
@@ -45,6 +45,9 @@ $(MYGOBIN)/addlicense:
|
|||||||
$(MYGOBIN)/statik:
|
$(MYGOBIN)/statik:
|
||||||
go install github.com/rakyll/statik@latest
|
go install github.com/rakyll/statik@latest
|
||||||
|
|
||||||
|
$(MYGOBIN)/goreleaser:
|
||||||
|
go install github.com/goreleaser/goreleaser@v0.179.0 # https://github.com/kubernetes-sigs/kustomize/issues/4542
|
||||||
|
|
||||||
$(MYGOBIN)/kind:
|
$(MYGOBIN)/kind:
|
||||||
( \
|
( \
|
||||||
set -e; \
|
set -e; \
|
||||||
|
|||||||
@@ -9,27 +9,41 @@
|
|||||||
#
|
#
|
||||||
# To test it locally, run it in a goreleaser container:
|
# To test it locally, run it in a goreleaser container:
|
||||||
#
|
#
|
||||||
# # Get goreleaser image from cloudbuild.yaml
|
# # Get build image from cloudbuild.yaml
|
||||||
# export GORELEASER_IMAGE=goreleaser/goreleaser:v0.179.0
|
# export GOLANG_IMAGE=golang:1.18
|
||||||
#
|
#
|
||||||
# # Drop into a shell
|
# # Drop into a shell
|
||||||
# docker run -it --entrypoint=/bin/bash -v $(pwd):/go/src/github.com/kubernetes-sigs/kustomize -w /go/src/github.com/kubernetes-sigs/kustomize $GORELEASER_IMAGE
|
# docker run -it --entrypoint=/bin/bash -v $(pwd):/go/src/github.com/kubernetes-sigs/kustomize -w /go/src/github.com/kubernetes-sigs/kustomize $GOLANG_IMAGE
|
||||||
#
|
#
|
||||||
# # Run this script in the container, where $TAG is the tag to "release" (e.g. kyaml/v0.13.4)
|
# # Run this script in the container, where $TAG is the tag to "release" (e.g. kyaml/v0.13.4)
|
||||||
# ./releasing/cloudbuild.sh $TAG --snapshot
|
# ./releasing/cloudbuild.sh $TAG --snapshot
|
||||||
#
|
#
|
||||||
|
|
||||||
set -e
|
set -o errexit
|
||||||
set -x
|
set -o nounset
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
if [[ -z "${1-}" ]] ; then
|
||||||
|
echo "Usage: $0 <fullTag> [--snapshot]"
|
||||||
|
echo "Example: $0 kyaml/v0.13.4"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
set -x
|
||||||
fullTag=$1
|
fullTag=$1
|
||||||
shift
|
shift
|
||||||
|
|
||||||
if ! command -v jq &> /dev/null
|
if ! command -v jq &> /dev/null
|
||||||
then
|
then
|
||||||
# This assumes we are in an alpine container (which is the case for goreleaser images)
|
# This is expecting to be run from Cloud Build, in a Debian-based official golang container
|
||||||
echo "Installing jq."
|
echo "Installing jq."
|
||||||
apk add jq --no-cache
|
apt-get update && apt-get install -y jq
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! command -v goreleaser &> /dev/null
|
||||||
|
then
|
||||||
|
echo "Installing goreleaser."
|
||||||
|
make --file Makefile-tools.mk "$(go env GOPATH)/bin/goreleaser"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
./releasing/run-goreleaser.sh "$fullTag" release "$@"
|
./releasing/run-goreleaser.sh "$fullTag" release "$@"
|
||||||
|
|||||||
@@ -39,9 +39,8 @@ steps:
|
|||||||
|
|
||||||
# Run goreleaser indirectly via a shell script
|
# Run goreleaser indirectly via a shell script
|
||||||
# to configure it properly.
|
# to configure it properly.
|
||||||
- name: goreleaser/goreleaser:v0.179.0
|
- name: golang:1.18
|
||||||
timeout: 12m
|
entrypoint: /bin/bash
|
||||||
entrypoint: /bin/sh
|
|
||||||
dir: myClone
|
dir: myClone
|
||||||
secretEnv: ['GITHUB_TOKEN']
|
secretEnv: ['GITHUB_TOKEN']
|
||||||
args:
|
args:
|
||||||
|
|||||||
@@ -54,16 +54,6 @@ echo "module=$module"
|
|||||||
semVer=${fullTag#$module/}
|
semVer=${fullTag#$module/}
|
||||||
echo "semVer=$semVer"
|
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
|
# Generate the changelog for this release
|
||||||
# using the last two tags for the module
|
# using the last two tags for the module
|
||||||
changeLogFile=$(mktemp)
|
changeLogFile=$(mktemp)
|
||||||
@@ -114,8 +104,6 @@ builds:
|
|||||||
-X sigs.k8s.io/kustomize/api/provenance.gitCommit={{.Commit}}
|
-X sigs.k8s.io/kustomize/api/provenance.gitCommit={{.Commit}}
|
||||||
-X sigs.k8s.io/kustomize/api/provenance.buildDate={{.Date}}
|
-X sigs.k8s.io/kustomize/api/provenance.buildDate={{.Date}}
|
||||||
|
|
||||||
gobinary: ${goBinary}
|
|
||||||
|
|
||||||
goos:
|
goos:
|
||||||
- linux
|
- linux
|
||||||
- darwin
|
- darwin
|
||||||
|
|||||||
Reference in New Issue
Block a user