IMPORTANT - before doing a release that updates the major or minor version make sure you have updated and commited metadata.yaml with the new version.
The projects follows semantic versioning and so the release version must adhere to this specification. Depending on the changes in the release you will need to decide the next appropriate version number.
Its advised that you pull the tags and view the latest release (i.e. tag):
git pull --tags
git describe --tags --abbrev=0
If you are increasing by a major or minor version, edit metadata.yaml
to contain
the new contract.
Open a PR and merge to main BEFORE you continue with the release.
- Checkout upstream main
- Create a tag with the version number:
RELEASE_VERSION=v0.1.0
Then:
git tag -s "${RELEASE_VERSION}" -m "${RELEASE_VERSION}"
- Push the tag (to upstream if working from a fork)
git push origin "${RELEASE_VERSION}"
- Check the release GitHub Actions workflow completes successfully.
- Check that the docker image for that tag was created successfully. (This won't actually be visible while the repo is private for... reasons.)
- Go to the draft release in GitHub.
- Check that the assets were attached correctly
- Make any edits to generated release notes
- Note which versions of Flintlock are compatible with this release
- If there are any breaking changes then manually add a note at the beginning of the release notes informing the user what they need to be aware of/do.
- Sometimes you may want to combine changes into 1 line
- If this is not a pre-release untick
This is a pre-release
- Check that the box to generate a discussion is ticked, and that the discussion goes into 'Announcements'.
- Publish the draft release and when asked say yes to creating a discussion.
When the release is available announce it in the #liquid-metal slack channel.
Once the release is published, edit docs/compatibility.md and update the table to contain the new version and any compatible Flintlock versions. Open a PR and merge the changes.