3.1 KiB
0
Communicate with core team - we are cutting a release now, are there any showstopping bugs that need fixing first?
1
Create and push the tag to github. This will trigger the build. To determine the last release, check the releases page.
git fetch
git checkout series/M2
git merge origin/trunk
git tag -a $RELEASE_NAME -m "release"
2
Wait for the release to show up on the releases page. This can take an hour or two!
3
Create a release notes draft issue, following this template.
4
Update trunk of base
to include any new builtins added since last release. Suggestion for how to do this: look through the release notes draft to find the PRs merged since last release.
git log --oneline release/M2h...release/M2i | grep 'Merge pull request #'
Then just use alias.term ##Nat.newBuiltin Nat.someName
and/or alias.type ##SomeType SomeType
. I think this is probably better than doing builtins.merge
at this point.
5
Cut a release of base.
.> pull https://unisonweb/base basedev.release
.> cd basedev.release
.basedev> delete.namespace releases._latest
.basedev> squash trunk releases._<ReleaseName>
.basedev> fork releases._<ReleaseName> releases._latest
.basedev> push git@github.com/unisonweb/base
6
Update homebrew.
git clone git@github.com/unisonweb/homebrew-unison
Update this file: https://github.com/unisonweb/homebrew-unison/blob/master/unison-language.rb and change the version number and the path to the release. Leave the SHA alone, and then run brew upgrade
.
Do brew upgrade unison-language
. It will tell you the SHA hash doesn't match. Update the file to use the hash it says.
Do the same for linux and mac - you can temporarily swap the mac / linux stanzas just to get the
7
Merge and promote to production any PRs pending on the docs site which are associated with the new release. Confirm with @rlmark.
8
Announce on #contrib Slack channel. Template below.
Release announcement template -
We've just released a new version of Unison, $RELEASE_NAME, release notes here (link to the issue). Install/upgrade instructions in the thread.
Mac upgrade is just brew upgrade unison-language
.
A fresh install via:
brew tap unisonweb/unison
brew install unison-language
If you have previously done brew install unison-language --head to install a dev build, uninstall that first via brew uninstall unison-language.
Linux manual install:
mkdir unisonlanguage
curl -L https://github.com/unisonweb/unison/releases/download/release%2FM2h/ucm-linux.tar.gz --output unisonlanguage/ucm.tar.gz
tar -xzf unisonlanguage/ucm.tar.gz -C unisonlanguage
./unisonlanguage/ucm
Mac manual install:
mkdir unisonlanguage
curl -L https://github.com/unisonweb/unison/releases/download/release%2FM2h/ucm-macos.tar.gz --output unisonlanguage/ucm.tar.gz
tar -xzf unisonlanguage/ucm.tar.gz -C unisonlanguage
./unisonlanguage/ucm