Version Bump Process - Kajabi/sage-lib GitHub Wiki
This page is deprecated in favor of the UXD Handbook.
Version Bump Process
The following steps outline the process in which to update kajabi-products with any changes from this repo, sage-lib.
Table of Contents
- Automatic: Last call for Bump PR's
- PR Approval
- Ensure branches are up-to-date
- Merge into
main - Kajabi Products PR
- QA Approval
- Merge Version Bump PR
- Post release tasks
1. Automatic: Last call for Bump PR's
Every Tuesday and Friday, in the Slack #ux-dev channel, two messages will automatically broadcast as a reminder to submit PR's for the next version bump.
2. PR Approval
- On the day of the bump, move the PR out of Draft and into Ready to review.
- At least one other approval is needed to approve this PR.
📄 Note: Once the the PR is set to "Ready for review", all new PR's for Sage are to be included in the following weeks' version bump
3. Ensure branches are up-to-date
⚠️ Before merging, ensure the develop and main branches in sage-lib are up-to-date. Run the following steps:
-
yarn branches:update- Note: if you don't want to alter your stashed work, run the following steps manually, skipping the
git stashandgit stash popcommands - FYI: This script runs the following commands automatically:
git checkout maingit pullgit checkout developgit pullgit stashgit rebase maingit stash pop
- Note: if you don't want to alter your stashed work, run the following steps manually, skipping the
-
Fix any rebase issues from step 1
-
Run
git push -fon thedevelopbranch
4. Merge into main
- Merge the branch into
main- Do not delete the branch when prompted
- View Actions to determine all workflows are successful
- This process can take approx. 5-10 minutes to complete
- If any Jobs fail, reach out to the
#ux-devchannel for assistance, if needed
- Once the Jobs are successful, follow the steps in #3 one more time
5. Kajabi Products PR
-
Create a branch in
kajabi-productsfor the version update, example of a recent branch/PR- Find the current version release in the tags page of the repo
-
Update the versions and refresh the lock files
- Open
Gemfileand locategem "sage_rails".- Update
sage@to match the version for@kajabi/sage@in the tags page
- Update
- Open
package.jsonand locate@kajabi/sage-packsand@kajabi/sage-react.- Update each to match the version in
@kajabi/sage-packsand@kajabi/sage-react@in the tags page
- Update each to match the version in
- Run
yarn refresh. This will result in five files changed:GemfileGemfile.lockGemfile_next.lockpackage.jsonyarn.lock
- Open
-
Commit and push changes in order to open the
kajabi-productsversion bump PR. The PR should follow this template -
Remove the PR numbers from the
kajabi-productsPR details to avoid GitHub linking to the wrong issues
6. QA Approval
- Announce the PR as an FYI to the
#devand#ux-qualitySlack channels. Here is a sample message:
:sage: FYI we have a Sage bump drafted here for v[version]. Welcoming any reviews. [link]
- Once QA from all teams have approved the PR, the PR can be merged
Patches to sage-lib
If any patches are needed to sage-lib after the develop branch PR is merged, follow the steps below.
- Create a PR directly to the
mainbranch - Once approved, merge PR to
main - GitHub Actions will trigger new packages and versions
- Update the
kajabi-productsVersion Bump PR with the latest version numbers by following the steps starting in Step 5, number 2 - Rebase
developagainstmainfollowing steps in #3
Patches to the kajabi-products Version Bump PR
Issues may be uncovered while QE is testing the kajabi-products version bump. This is perfectly normal; the app has many moving parts. The next steps will be to determine the importance, size, and scale of the issue. Refer to the decision tree and determine whether a patch or revert is needed to continue.
7. Merge Version Bump PR
- Merge the PR
- Notify the
#devand#ux-qualitychannels that the version bump is complete - 🎉
8. Post-release tasks
- Update the release version in
#uxdSlack channel for the topic
Templates
kajabi-products Version Bump PR Template
Description
This PR bumps Sage to:
- Sage Rails v[num] (Gemfile)
- Sage Packs v[num] (package.json)
- Sage React v[num] (package.json)
View the master change log for what's included.
Impact
(... steps copied from sage-lib next version bump PR with PR numbers removed)