| title | Release process |
|---|---|
| category | Contributing |
| order | 5 |
This document outlines the steps required for the release process. Please follow the instructions below:
---
type: code
---
git checkout master
- The branch should be created from the latest master. (note: if a local branch named
releasealready exists, delete it beforehand)
---
type: code
---
git checkout -b release
- This will propose new version numbers.
---
type: code
---
pnpm run bump
- Check if the proposed version numbers are correct. If they are, accept them.
- If there's something missing, add it manually.
- If you made changes to the CHANGELOG.md, use the commands below to amend your commit.
---
type: code
---
git add .
HUSKY=0 git commit --amend
---
type: code
---
git push origin release
- Once your changes are pushed, request for review.
- If the reviews and all automated checks are successful, merge your release branch to master.
- The release process may take some time, be patient.
- Add a new release to GitHub. This will display the newly released version as the latest and automatically triggers a Slack notification.
This document describes the steps to follow when releasing updates to legacy versions. The example given is for v7:
- For example, for v7, check out the
v7_maintenancebranch.
---
type: code
---
git checkout v7_maintenance- The branch should be created from the maintenance branch.
---
type: code
---
git checkout -b release- This will propose new version numbers. It can be forced to generate certain versions: patch, minor, major. Also has a prerelease option that'll produce a security postfixed release for private, security releases.
---
type: code
---
pnpm run bump
pnpm run bump:patch
pnpm run bump:minor
pnpm run bump:major
pnpm run bump:prerelease- Check if the proposed version numbers are correct. If they are, accept them.
- Amend your commit if necessary.
---
type: code
---
git push origin release- After successful reviews and checks, merge your release branch to the maintenance branch.
- The release process may take some time, be patient.
- Once the release is successful, announce it on the #instui channel on Slack. Be sure to include the changelog and new version in your announcement.
Major version updates are very similar to minor updates but there are a couple additinal things to take care of.
Update upgrade-guide.md with the new major version and the breaking changes.
Before the update, create a maintenance branch from the current master and push it to remote. If the current major version is 11, then:
---
type: code
---
git checkout -b v11_maintenance
git push origin v11_maintenance
Update the fields in the file ./packages/__docs__/versions.json with the latest version and the maintenance branch map. Remove old unsupported versions if they are no longer needed and you don't want them to appear in the docs page version selector.
- In
docs/guides/guides-getting-started.mdupdate the version in the code snippet forpackage.json - In
packages/__docs__/src/Hero/index.tsxupdate title of the Upgrade Guide button - In
packages/__docs__/src/CodeSandboxButton/index.tsxupdate the@instructure/dependencies to the latest version
Follow the same process as it's described above. The pnpm run bump command should automatically recognise that there were a breaking commit and it should be a major version change.