$ make ci_release API_KEY=<api-key> RELEASE_VERSION=<version>
The following sections describe how to release Minishift either via automated job or manually.
Verify the milestone you want to release:
Move remaining open issues into the next milestone.
Review resolved/closed issues and make sure they are classified correctly.
Check and update the resolution of the issues. For example, issues with merged pull requests should be labeled as resolution/done.
Close the milestone.
An automated release can be performed by triggering CI job as:
$ make ci_release API_KEY=<api-key> RELEASE_VERSION=<version>
where
api-key
: Minishift CentOS CI API key
version
: The expected release version (without 'v'). For example, 1.0.0.
Once triggered you can follow the release process here.
The automated release performs:
If the CI release job is failing for a known reason then you can skip the integration tests by changing the |
The systemtray bits needs to uploaded separately, which can be performed by triggering CI job as:
$ make ci_release_systemtray CIRCLECI_API_KEY=<api-key> RELEASE_VERSION=<version>
where
api-key
: Minishift Circle CI API key
version
: The expected release version (without 'v'). For example, 1.0.0.
You must have a GitHub personal access token defined in your environment as GITHUB_ACCESS_TOKEN
.
You must set environment variable GITHUB_USER
as minishift.
To create the systemtray binaries, Xcode
must be installed.
Run the required checks:
$ make prerelease
Bump the Minishift version in the Makefile.
Commit and push your changes with a message of the form cut v1.0.0
.
Create binaries and upload them to GitHub (this will also tag the release):
$ make release
Use the following to trigger the documentation build:
$ export API_KEY=<api-key> $ curl -H "$(curl --user minishift:$API_KEY 'https://ci.centos.org//crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)')" -X POST https://ci.centos.org/job/minishift-docs/build --user "minishift:$API_KEY"
This will build minishift-adoc.tar, which will be consumed by docs.okd.io during the next nightly build. For more information, see Writing and Publishing Minishift Documentation.
The systemtray bits also needs to be uploaded to the release in Github. Create Minishift binaries with systemtray and upload them to Github. The following command works only in macOS, please refer the Prerequisites for more information.
$ make release_systemtray
As part of the release process we also send a release announcement and edit the GitHub release page.
For the latter we usually add a categorized list of closed issues as well as some release highlights (most often taken from the release announcement).
If you have jq
installed on your machine, you can use the issue-list.sh script to generate the Markdown needed for adding the issue list.
For example:
$ cd scripts/release $ ./issue-list.sh -r minishift -m 9
To update the Minishift cask manually, we need to do the following tasks:
Fork the homebrew-cask repository and clone it locally if not already done.
Update the minishift.rb file with latest version, sha256sum and checkpoint.
Push the changes to the forked repository.
And finally open a pull request in the homebrew-cask repository.
You can also use the brew-cask.sh script to update minishift.rb with latest version information. For example:
$ cd scripts/release $ ./brew-cask.sh -r /path/to/homebrew-cask-repo -v 1.13.0