-
Notifications
You must be signed in to change notification settings - Fork 2
Version Bump Process
Sage, Kajabi's design system, touches on many aspects of the Kajabi application. Rather than merge our PR's directly into the main branch (main
), we merge all work into develop
first, then, regularly and in a controlled process (see steps below), we merge develop
into main
. This merge kicks off the Version Bump process. Follow the steps in this document to bump the sage-lib
packages into kajabi-products
.
Every Tuesday, in the Slack #ux-dev
channel, two messages will automatically broadcast as a reminder to submit PR's for this week's Sage Version Bump.
Every Wednesday, all new PR's for Sage are to be included in the following weeks' version bump
- First thing Wednesday, move the PR out of Draft and into Review. See this link for how to convert PR to "Ready for review".
- At least one other approval is needed to approve this PR.
Before merging, ensure the develop
and main
branches in sage-lib
are up-to-date. Run the following steps:
git checkout main
git pull
git checkout develop
git pull
git rebase main
git push -f
- 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
-
Destroy the bridge to
kajabi-products
withinsage-lib
yarn bridge:kajabi-products:destroy
-
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
- Announce the PR as an FYI to the
#dev
and#ux-quality
Slack channels. CC to your team's tech lead and QA. Here is a sample message:
:sage: FYI we have a Sage bump drafted here for v[version]. Welcoming any reviews. [link] CC: your tech lead/qa
- Once QA from all teams have approved the PR, the PR can be merged
If any patches are needed to sage-lib
after the develop
branch PR is merged, follow these steps.
- 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
- Merge the PR
- Notify the
#dev
and#ux-quality
channels with the great news - 🎉
- Create a new release by clicking the "Draft a new release" link on the Github Releases page.
- For the tag version, type the version number as
v[version]
- In the "Release title" field, type
v[version]
as the release title - In the "Describe this release" textarea, link to the version bump PR
- Click "Publish release"
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.
(... steps copied from sage-lib
next version bump PR with PR numbers removed)
Thanks for using Sage!
Welcome
Conventions
Processes and Reference