Skip to content

Latest commit

 

History

History
74 lines (51 loc) · 2.57 KB

releasing.md

File metadata and controls

74 lines (51 loc) · 2.57 KB

Releasing CAPMVM

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.

Determine release 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

Update metadata.yaml

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.

Create tag

  • 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.)

Edit & Publish GitHub Release

  • 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.

Announce release

When the release is available announce it in the #liquid-metal slack channel.

Update the version compatibility table

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.