-
Check the Semantic Versioning page for info on how to version the new release: http://semver.org
-
Make sure you're on the most recent
main$ git checkout main $ git pull -
Create a branch named
release_X_Y_Z(replacingX_Y_Zwith the intended release version)$ git checkout -b release_X_Y_Z -
Update the version of Shopify CLI in
lib/shopify_cli/version.rb -
Update the version of Shopify CLI at the top of
Gemfile.lock(failing to do so causes the CI build to fail) -
Add an entry for the new release to
CHANGELOG.md -
Commit the changes with a commit message like "Packaging for release X.Y.Z"
$ git commit -am "Packaging for release vX.Y.Z" -
Push out the changes
$ git push -u origin release_X_Y_Z -
Open a PR for the branch, get necessary approvals from code owners and merge into main branch. Note that the PR title will be the release note in Shipit, so make sure it mentions the release
-
Deploy to RubyGems using Shipit
-
Update your
mainbranch to the latest version
$ git checkout main
$ git pull
- On local machine and AFTER gem has been published to https://rubygems.org/gems/shopify-cli, run
$ rake package
This will generate the .deb, .rpm and brew formula files, which will be located in packaging/builds/X.Y.Z/.
-
Clone the
Shopify/homebrew-shopifyrepository (if not already cloned), and then- update your
masterbranch to the latest version:git checkout master && git pull - create a new branch:
git checkout -b release_X_Y_Z_of_shopify-cli - update the brew formula in
shopify-cli.rbwith the generated formula inpackaging/builds/X.Y.Z/in theShopify/shopify-clirepo (from therake packagestep above) - commit the change and create a PR on the Shopify Homebrew repository
- when PR is approved, merge into main branch
- update your
-
Go to releases page of
Shopify/shopify-clirepo and create a new release:- use the tag created by Shipit (should be "vX.Y.Z")
- release title = "Version X.Y.Z"
- description should be the content of the section in the
CHANGELOG.md - upload the
.deband.rpmfiles frompackaging/builds/X.Y.Z/(generated in step 9) - if it's a pre-release version, select the "This is a pre-release" checkbox
- and click "Publish release".
-
Go through all the PR labeled with
includes-post-release-stepsand follow the post-release steps described in those PRs. Delete the labels afterward.