-
Notifications
You must be signed in to change notification settings - Fork 291
Release Process
Chris Araman edited this page Nov 4, 2021
·
24 revisions
- Decide on the new version using Semantic Versioning
- Edit the "Draft" release
- Set the tag name using the format:
v<version>(e.g.v1.2.3)- This is harder now since GitHub will automatically generate a tag like "untagged-4cd67b0c4b7042a7bd7d"
- Set the release title using the format:
v<version>: <emoji?> <subject>(e.g.v1.8.1: 📼 Fix outdated & upgrade commands)
- Set the tag name using the format:
- Click the "Publish release" button
Homebrew (core)
- After creating the tagged release in GitHub,
brew bump-formula-pr mas --tag=v1.8.1.
Homebrew (custom tap)
- Tap the custom tap:
brew tap mas-cli/tap - Edit the custom tap formula at
$HOMEBREW_PREFIX/Library/Taps/mas-cli/homebrew-tap/Formula/mas.rb.- Update the
tagfield with the same tag name you created above.
Example:tag: "v1.8.1", - Update the
revisionfield with the hash that the tag points to. Use command:git rev-list -n 1 v1.8.1
Example:revision: "23a36b4555f5625fe29915b31b8b101064452dca" - Update the
root_urlfield with the new tag.
Example:root_url "https://github.com/mas-cli/mas/releases/download/v1.8.1"
- Update the
- Run the
script/bottlescript. This generates bottles for the custom tap. - Update the hashes in the formula with the output of
shasum -a 256 .build/bottles/mas-*.bottle.tar.gz. - Edit the release on GitHub and upload the
.build/bottles/mas-*.bottle.tar.gzassets for the custom Homebrew tap. - Commit your changes in
$HOMEBREW_PREFIX/Library/Taps/mas-cli/homebrew-tapand push to GitHub. - Optionally, untap the custom tap and reinstall the core
masbottle:brew untap mas-cli/tap && brew install mas
- TBD. Currently maintained by a third party.
- Fetch the new release tag from GitHub:
git fetch --tags - Verify that
script/versionshows the new version.- This will update the generated
Sources/MasKit/Package.swiftfile (not tracked in git).
- This will update the generated
- Run the
script/build_artifactsscript.- This generates the
.build/mas.pkginstaller package
- This generates the
- Edit the release on GitHub and upload the
.build/mas.pkgasset.