Skip to content

[Maintenance] Release Process, Container Updates

François Dupressoir edited this page Aug 8, 2025 · 2 revisions

EasyCrypt now aims to release every 6 weeks, although we may skip some releases due to holidays. (Rather than delaying them.) This page documents the release process so the responsibility for issuing releases can be distributed among maintainers rather than being centralised.

Creating a Release

The "correct" release process is to:

  1. create an annotated tag, then
  2. create a release from it using GitHub's release UI.

Creating an annotated tag

Making sure you are on main, and up to date with the GitHub main, run:

git tag -a ryyyy.mm -m "Release yyyy.mm"

then git push --tags.

Creating the release

Go here, and:

  1. select the just created tag;
  2. select main as target;
  3. Fill in "Release yyyy.mm" as "Release title"
  4. Click "Generate release notes"
  5. Make sure that "Set as the latest release" is ticked
  6. Click "Publish release"
  7. Bask

Because you messed it up, how do you fix it

Most likely, you messed it up and are prevented from basking by the fact that you did not create the tag as an annotated tag before publishing a release from it, and asked GitHub to create a tag instead. To fix it, first make sure that git push -f will not do anything other than overwrite the tag (make a fresh clone of the repo if necessary):

  1. git pull ryyyy.mm
  2. git tag -f -a ryyyy.mm -m "Release yyyy.mm"
  3. git push -f --tags
  4. Bask for real
Clone this wiki locally