Creating a new release creates the following artifacts:
- Container images:
calico/ctl:$VERSIONandcalico/ctl:latestquay.io/calico/ctl:$VERSIONandquay.io/calico/ctl:latest
- Binaries (stored in the
distdirectory) :calicoctlcalicoctl-darwin-amd64calicoctl-windows-amd64.exe
-
Make sure you are on the master branch and don't have any local uncommitted changes. e.g. Update the libcalico-go pin to the latest release in
glide.yamland runglide up -v, create PR, ensure test pass and merge. -
Pre-requisites for pushing container images:
- Make sure you have write access to calico orgs on Dockerhub and quay.io.
- Login using your dockerhub credentials.
docker loginin your terminal.- For quay.io:
- Go to your account on quay.io
- Go to the account settings
- Go to the "settings" tab
- Click on "Generate Encrypted Password", it will popup a new sub-window
- Go to "Docker login" tab in that window
- Copy the command with encrypted password and paste it in your terminal
- Now you should be able to push the container images with
docker pushcommand.
-
Update the sub-component versions in the Makefile:
GO_BUILD_VER
-
If build fails during
make release, make sure git tag is deleted before doingmake releaseagain. (This can be done withgit tag -d <tag>)
- Choose a version e.g.
export VERSION=v1.0.0 - Create the release artifacts repositories
make release VERSION=$VERSION. - Follow the instructions to push the artifacts and git tag.
- Create a release on Github, using the tag which was just pushed.
- Attach the following
calicoctlbinaries:calicoctlcalicoctl-darwin-amd64calicoctl-windows-amd64.exe
- Add release notes for
calicoctl. Usehttps://github.com/projectcalico/calicoctl/compare/<previous_release>...<new_release>to find all the commit messages since the last release.