Releasing ShopifyApp
Prerequisites
Before starting a release, ensure you have:
- Merged all code change PRs into main/master
- Access to publish the gem via Shipit
Release Process
Step 1: Prepare the Release Branch
-
Ensure all feature changes are merged
git checkout main git pull origin mainVerify: Latest commits should match GitHub's main branch.
-
Review changes to determine version bump
- Apply semantic versioning:
- PATCH (X.Y.Z+1): Bug fixes only
- MINOR (X.Y+1.0): New features, backward compatible
- MAJOR (X+1.0.0): Breaking changes
- Apply semantic versioning:
Step 2: Create Release Pull Request
-
Create a new branch
git checkout -b vX.Y.Z -
Update version numbers
Edit
lib/shopify_app/version.rb:module ShopifyApp VERSION = "X.Y.Z" # Replace with your version endEdit
package.json:{ "version": "X.Y.Z" // Replace with your version } -
Update dependencies
bundle installExpected: Gemfile.lock updates with new version.
-
Update CHANGELOG
-
Add entry with the new version and date:
## X.Y.Z (YYYY-MM-DD) - [#PR_NUMBER](https://github.com/Shopify/shopify_app/pull/PR_NUMBER) Description of change - List all changes since last release
-
-
Create and push PR
git add -A git commit -m "Packaging for release vX.Y.Z" git push origin release-vX.Y.Z- Title PR: "Packaging for release X.Y.Z"
- Add release notes to PR description
Step 3: Tag and Publish
-
After PR is merged, update local main
git checkout main git pull origin mainVerify:
git log -1shows your merge commit. -
Create and push tag
git tag -f vX.Y.Z && git push origin vX.Y.ZVerify: Tag appears at https://github.com/Shopify/shopify_app/tags
-
Check Create Release workflow
Monitor the GitHub Actions workflow to ensure it completes successfully.
-
Publish via Shipit
Use Shipit to build and push the gem to RubyGems.
Note: If you see an error like 'You need to create the vX.Y.X tag first', clear git cache in Shipit settings.
-
Verify gem publication
Check the gem on https://rubygems.org/gems/shopify_app
Expected: Shows your new version (may take 5-10 minutes).