Airy Core follows a scheduled release process: we release a new version every week. This approach allows us to ship smaller releases which ease the risk of breaking changes and brings new features and bug-fixes to our users in a timely manner.
The release scripts needs a
GITHUB_TOKEN environment variable with write
permission to the airy org to function correctly
Once a release day comes, we execute the following steps:
- We clean up the draft release
- We run
./scripts/release.sh start x.y.z
- We test the release using
airy create --provider=minikube. Note that:
- Any additional hot-fix is committed directly to the release branch
- You must wait for all the images to be pushed via CI.
- Once we're satisfied with the release, we publish the release:
- We run
./scripts/release.sh finish x.y.z
- We update the version string to
x.y.zand the sha to
https://airy-core-binaries.s3.amazonaws.com/x.y.z/darwin/amd64/airy_darwin_sha256sum.txtin the Homebrew Formula for the CLI.
- We archive cards in the done column of the work in progress board
- We publish the release and announce it!
- We run
As part of the release process we are also releasing a command line client - the
You can check out existing releases on GitHub.
In case we need to hotfix a release, we follow a different process. At the moment, the process is completely manual and goes as follows:
- Create a new branch from
- Update version file
- Update the changelog
- Test the hotfix
- Merge to
develop(you do not want to alter the VERSION file in
- Write a custom release draft
- Publish the draft
- Merge the branch to develop while not altering the VERSION file since the release script already set it to 0.16.0-alpha