-
Notifications
You must be signed in to change notification settings - Fork 2
Version Bump Process
This page is deprecated in favor of the UXD Handbook.
The following steps outline the process in which to update kajabi-products
with any changes from this repo, sage-lib
.
- 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
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.
- 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
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
- 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
-
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. 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
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
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.
- Merge the PR
- Notify the
#dev
and#ux-quality
channels that the version bump is complete - 🎉
- Update the release version in
#uxd
Slack channel for the topic
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