-
Notifications
You must be signed in to change notification settings - Fork 274
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
tag
field with the same tag name you created above.
Example:tag: "v1.8.1",
- Update the
revision
field with the hash that the tag points to. Use command:git rev-list -n 1 v1.8.1
Example:revision: "23a36b4555f5625fe29915b31b8b101064452dca"
- Update the
root_url
field with the new tag.
Example:root_url "https://github.com/mas-cli/mas/releases/download/v1.8.1"
- Update the
- Run the
script/bottle
script. 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.gz
assets for the custom Homebrew tap. - Commit your changes in
$HOMEBREW_PREFIX/Library/Taps/mas-cli/homebrew-tap
and push to GitHub. - Optionally, untap the custom tap and reinstall the core
mas
bottle: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/version
shows the new version.- This will update the generated
Sources/MasKit/Package.swift
file (not tracked in git).
- This will update the generated
- Run the
script/build_artifacts
script.- This generates the
.build/mas.pkg
installer package
- This generates the
- Edit the release on GitHub and upload the
.build/mas.pkg
asset.