Creating a new release creates the following artifacts:
- Container images:
calico/ctl:$VERSION
andcalico/ctl:latest
quay.io/calico/ctl:$VERSION
andquay.io/calico/ctl:latest
- Binaries (stored in the
dist
directory) :calicoctl
calicoctl-darwin-amd64
calicoctl-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.yaml
and 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 login
in 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 push
command.
-
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 release
again. (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
calicoctl
binaries:calicoctl
calicoctl-darwin-amd64
calicoctl-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.