Skip to content

Latest commit

 

History

History
 
 

release

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Releasing

Steps

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 of cli-utils, kyaml, and cmd/config
    • Run make all (which should update go.sum and run go mod tidy)
    • Create a kpt PR with previous go.mod and go.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

Artifacts

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 buckets
    • gs://kpt-dev/latest
    • gs://kpt-dev/releases

Dry-Run Goreleaser

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.