Files
kustomize/releasing/README.md
2019-07-03 11:22:27 -07:00

90 lines
1.7 KiB
Markdown

# Releasing
[release page]: https://github.com/kubernetes-sigs/kustomize/releases
[`cloud-build-local`]: https://github.com/GoogleCloudPlatform/cloud-build-local
[Google Cloud Build]: https://cloud.google.com/cloud-build
[semver]: https://semver.org
Scripts and configuration files for publishing a
`kustomize` release on the [release page].
## Build a release locally
Install [`cloud-build-local`], then run
```
./releasing/localbuild.sh
```
to build artifacts under `./dist`.
## Do a real (cloud) release
Get on an up-to-date master branch:
```
git fetch upstream
git checkout master
git rebase upstream/master
```
### review tags
```
git tag -l
git ls-remote --tags upstream
```
### define the new tag
Define the version per [semver] principles; it must start with `v`:
```
version=v3.0.0-pre
```
### if replacing a release...
Must delete the tag before re-pushing it.
Delete the tag locally:
```
git tag --delete $version
```
Delete it upstream:
```
# Disable push protection:
git remote set-url --push upstream git@github.com:kubernetes-sigs/kustomize.git
# The empty space before the colon effectively means delete the tag.
git push upstream :refs/tags/$version
# Enable push protection:
git remote set-url --push upstream no_push
```
Optionally visit the [release page] and delete
(what has now become) the _draft_ release for that
version.
### tag locally
```
git tag -a $version -m "Release $version"
```
### trigger the cloud build
Push the tag:
```
git push upstream $version
```
This triggers a job in [Google Cloud Build] to
put a new release on the [release page].
### Update release notes
Visit the [release page] and edit the release notes as desired.