To cut a new kpt release perform the following:
- Ensure kpt is importing the latest dependent releases
- cli-utils
- Within kustomize: kyaml
- Within kustomize: cmd/config
- Update
go.mod
file with correct versions ofcli-utils
,kyaml
, andcmd/config
- Run
make all
(which should updatego.sum
and rungo mod tidy
) - Create a
kpt
PR with previousgo.mod
andgo.sum
changes, and submit. Example PR
- Fetch the latest master changes to a clean branch
git checkout -b release
git fetch upstream
git reset --hard upstream/master
- Tag the commit
git tag v0.MINOR.0
git push upstream v0.MINOR.0
- Update the Homebrew release
go run ./release/formula/main.go v0.MINOR.0
git add . && git commit -m "update homebrew to v0.MINOR.0"
- create a PR for this change and merge it
- example PR
Release artifacts such as binaries and images will be built automatically by Cloud Build in the
kpt-dev
GCP project. The binaries linked from the README.md docs will be automatically updated
because they point to the latest
binaries which are updated for tagged releases. Images are
also updated with the latest
tag for tagged releases.
kpt-dev
release bucketsgs://kpt-dev/latest
gs://kpt-dev/releases
To test local changes to the goreleaser.yaml
config. You may
install goreleaser locally and provide the
--skip-verify --skip-publish
flags.
From the kpt directory you would run:
goreleaser release --skip-validate --skip-publish -f release/tag/goreleaser.yaml
The resulting release artifacts will be stored in the ./dist
directory.