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 stash
andgit stash pop
commands - FYI: This script runs the following commands automatically:
git checkout main
git pull
git checkout develop
git pull
git stash
git rebase main
git 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 -f
on thedevelop
branch
main
4. Merge into - 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-dev
channel 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-products
for 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
Gemfile
and locategem "sage_rails"
.- Update
sage@
to match the version for@kajabi/sage@
in the tags page
- Update
- Open
package.json
and locate@kajabi/sage-packs
and@kajabi/sage-react
.- Update each to match the version in
@kajabi/sage-packs
and@kajabi/sage-react@
in the tags page
- Update each to match the version in
- Run
yarn refresh
. This will result in five files changed:Gemfile
Gemfile.lock
Gemfile_next.lock
package.json
yarn.lock
- Open
-
Commit and push changes in order to open the
kajabi-products
version bump PR. The PR should follow this template -
Remove the PR numbers from the
kajabi-products
PR details to avoid GitHub linking to the wrong issues
6. QA Approval
- Announce the PR as an FYI to the
#dev
and#ux-quality
Slack 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
sage-lib
Patches to 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
main
branch - Once approved, merge PR to
main
- GitHub Actions will trigger new packages and versions
- Update the
kajabi-products
Version Bump PR with the latest version numbers by following the steps starting in Step 5, number 2 - Rebase
develop
againstmain
following steps in #3
kajabi-products
Version Bump PR
Patches to the 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
#dev
and#ux-quality
channels that the version bump is complete - 🎉
8. Post-release tasks
- Update the release version in
#uxd
Slack 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)