-
Notifications
You must be signed in to change notification settings - Fork 3
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 maingit pullgit checkout developgit pullgit rebase maingit 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-devchannel for assistance, if needed
- Once the Jobs are successful, follow the steps in #3 one more time
-
Destroy the bridge to
kajabi-productswithinsage-libyarn bridge:kajabi-products:destroy
-
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
- Announce the PR as an FYI to the
#devand#ux-qualitySlack 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
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
- Merge the PR
- Notify the
#devand#ux-qualitychannels 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"
- In either the GitHub Issues or Pull Requests view of the repo, click on "Milestones" near the top of the page
- Find the title of the milestone that you've just released (this should appear in the semantic versioning format
vX.Y.Z, and match the released version number) - Click "Close", located underneath the completion % meter to close the milestone
- If the next (upcoming) milestone is not displayed in the list, create a new milestone using the same numbering format
vX.Y.Z. In most cases, the only change will be to the minor version/second digit (Y), which is incremented by1. The other two version numbers will remain the same as the previous version.
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