Skip to content

Version Bump Process

Monica Wheeler edited this page Oct 4, 2021 · 47 revisions

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

  1. Automatic: Last call for Bump PR's
  2. PR Approval
  3. Ensure branches are up-to-date
  4. Merge into main
  5. Kajabi Products PR
  6. QA Approval
  7. Merge Version Bump PR
  8. 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

  1. On the day of the bump, move the PR out of Draft and into Ready to review.
  2. 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:

  1. yarn branches:update

    • Note: if you don't want to alter your stashed work, run the following steps manually, skipping the git stash and git 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
  2. Fix any rebase issues from step 1

  3. Run git push -f on the develop branch

4. Merge into main

  1. Merge the branch into main
    • Do not delete the branch when prompted
  2. 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
  3. Once the Jobs are successful, follow the steps in #3 one more time

5. Kajabi Products PR

  1. Create a branch in kajabi-products for the version update, example of a recent branch/PR

  2. Update the versions and refresh the lock files

    1. Open Gemfile and locate gem "sage_rails".
      • Update sage@ to match the version for @kajabi/sage@ in the tags page
    2. 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
    3. Run yarn refresh. This will result in five files changed:
      • Gemfile
      • Gemfile.lock
      • Gemfile_next.lock
      • package.json
      • yarn.lock
  3. Commit and push changes in order to open the kajabi-products version bump PR. The PR should follow this template

  4. 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

Patches to sage-lib

If any patches are needed to sage-lib after the develop branch PR is merged, follow the steps below.

  1. Create a PR directly to the main branch
  2. Once approved, merge PR to main
  3. GitHub Actions will trigger new packages and versions
  4. Update the kajabi-products Version Bump PR with the latest version numbers by following the steps starting in Step 5, number 2
  5. Rebase develop against main following 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

  1. Merge the PR
  2. Notify the #dev and #ux-quality channels that the version bump is complete
  3. 🎉

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)