-
Notifications
You must be signed in to change notification settings - Fork 54
[Maintenance] Release Process, Container Updates
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.
The "correct" release process is to:
- create an annotated tag, then
- create a release from it using GitHub's release UI, then
-
move the
latestbranch forward to point to the newest release.
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 origin refs/tags/ryyyy.mm (assuming the GitHub remote is origin).
Go here, and:
- select the just created tag;
- select
mainas target; - Fill in "Release yyyy.mm" as "Release title"
- Click "Generate release notes"
- Make sure that "Set as the latest release" is ticked
- Click "Publish release"
- Bask
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):
git pull ryyyy.mmgit tag -f -a ryyyy.mm -m "Release yyyy.mm"git push -f --tags- Bask for real
The following should do the trick, since we keep our history linear-ish.
git checkout latest
git rebase ryyyy.mm
git push