TL;DR: Releases are published automatically whenever a new tag of the format X.Y.Z is pushed to the GitHub repository.
All you have to do is create and push a new tag.
In the command below, replace <MAJOR.MINOR.PATCH>
with the actual version number you want to publish.
export VERSION=<MAJOR.MINOR.PATCH>
git checkout master
git pull
git tag -a ${VERSION} -m "Release version ${VERSION}"
git push origin ${VERSION}
This will push your the new tag to the GitHub repository where it will show up as a tag without release.
Follow CircleCI's progress in https://circleci.com/gh/giantswarm/gsctl/. Do not do anything until CI is finished.
CircleCI should have created a new Release draft. Edit this draft.
Open the release draft on Github.
Edit the description to inform about what has changed since the last release. Save and publish the release.
The release draft will attach itself to the tag you've pushed in the first step.
The gsctl reference hosted at https://docs.giantswarm.io/ui-api/gsctl/ contains the latest releasd gsctl version. (Relevant code)
To update this, read the Deploying section in the giantswarm/docs Readme.
CircleCI must be set up with certain environment variables:
CODE_SIGNING_CERT_BUNDLE_BASE64
- Base64 encoded PKCS#12 key/cert bundle used for signing Windows binariesCODE_SIGNING_CERT_BUNDLE_PASSWORD
- Password for the above bundleRELEASE_TOKEN
- A GitHub token with the permission to write to repositoriesGITHUB_USER_EMAIL
- Email address of the github user owning the personal token aboveGITHUB_USER_NAME
- Username of the above github user