Skip to content

Latest commit

 

History

History
32 lines (23 loc) · 1.83 KB

release.md

File metadata and controls

32 lines (23 loc) · 1.83 KB

How to release a new version of all modules

On a release, all modules will be tagged with the same version. We use multimod for releases. As a prerequisite, run make install-tools to ensure the necessary tooling is available.

To make a new release, follow these steps:

  1. Make sure CI passes on main and there are no release blockers.
  2. Choose the new version number, ${VERSION}. We follow semantic versioning and are currently doing v0.x.y releases.
  3. Checkout to a new branch.
  4. Update the version number on versions.yaml and commit the changes.
  5. Run chloggen update -v ${VERSION} to update the changelog and commit the changes.
  6. Run make prerelease and checkout to the branch created by this step. Open a PR to main from this branch and get it merged.
  7. Checkout and pull the main branch locally. Run git show HEAD and make sure that it points to the commit from the previously merged PR.
  8. Run make push-tags to push the tags.
  9. Check that the new version is available on the Github repository.

What to do if something goes wrong

If something goes wrong, it is important that you do not remove or modify a tag once it has been pushed to Github.

Instead, follow these steps:

  1. Add a retract directive to all affected go.mod files, open a PR and commit it.
  2. Fix the issue(s) in the release and commit the changes.
  3. Follow the usual release process.

This will make tooling and bots ignore the retracted version. If a project has already updated to the new version, you may want to notify them directly.