+{"description":"\n## Release Process for Minor Updates\n\nThis document outlines the steps required for the release process. Please follow the instructions below:\n\n##### 1. Checkout to Master\n\n```text\n---\ntype: code\n---\ngit checkout master\n```\n\n##### 2. Create a New Branch for Release\n\n- The branch should be created from the latest master. (note: if a local branch named `release` already exists, delete it beforehand)\n\n```text\n---\ntype: code\n---\ngit checkout -b release\n```\n\n##### 3. Run Pnpm Bump Command\n\n- This will propose new version numbers.\n\n```text\n---\ntype: code\n---\npnpm run bump\n```\n\n- Check if the proposed version numbers are correct. If they are, accept them.\n\n##### 4. Check the CHANGELOG.md\n\n- If there's something missing, add it manually.\n\n##### 5. Amend Your Commit\n\n- If you made changes to the CHANGELOG.md, use the commands below to amend your commit.\n\n```text\n---\ntype: code\n---\ngit add .\nHUSKY=0 git commit --amend\n```\n\n##### 6. Push Your Changes to Remote\n\n```text\n---\ntype: code\n---\ngit push origin release\n```\n\n##### 7. Ask for Review\n\n- Once your changes are pushed, request for review.\n\n##### 8. Merge to Master\n\n- If the reviews and all automated checks are successful, merge your release branch to master.\n\n##### 9. Wait for the Release Process to Succeed\n\n- The release process may take some time, be patient.\n\n##### 10. Add a New Release to GitHub\n\n- Add a new release to GitHub. This will display the newly released version as the latest and automatically triggers a Slack notification.\n\n## Release Process for Legacy Versions\n\nThis document describes the steps to follow when releasing updates to legacy versions. The example given is for v7:\n\n##### 1. Checkout to the Maintenance Branch\n\n- For example, for v7, check out the `v7_maintenance` branch.\n\n```bash\n---\ntype: code\n---\ngit checkout v7_maintenance\n```\n\n##### 2. Create a New Branch for the Release\n\n- The branch should be created from the maintenance branch.\n\n```bash\n---\ntype: code\n---\ngit checkout -b release\n```\n\n##### 3. Run Pnpm Bump Command\n\n- 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.\n\n```bash\n---\ntype: code\n---\npnpm run bump\npnpm run bump:patch\npnpm run bump:minor\npnpm run bump:major\npnpm run bump:prerelease\n```\n\n- Check if the proposed version numbers are correct. If they are, accept them.\n\n##### 4. Check the Changelog\n\n- Amend your commit if necessary.\n\n##### 5. Push Your Changes to Remote\n\n```bash\n---\ntype: code\n---\ngit push origin release\n```\n\n##### 6. Request a Review and Wait for Automated Checks\n\n##### 7. Merge to the Maintenance Branch\n\n- After successful reviews and checks, merge your release branch to the maintenance branch.\n\n##### 8. Run the Release Job Manually in GitHub Actions\n\n- The release process may take some time, be patient.\n\n##### 9. Announce the Release\n\n- 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.\n\n## Release Process for Major updates\n\nMajor version updates are very similar to minor updates but there are a couple additinal things to take care of.\n\n##### 1. Write an upgrade guide\n\nUpdate `upgrade-guide.md` with the new major version and the breaking changes.\n\n##### 2. Create a maintenance branch\n\nBefore the update, create a maintenance branch from the current master and push it to remote. If the current major version is 11, then:\n\n```text\n---\ntype: code\n---\ngit checkout -b v11_maintenance\ngit push origin v11_maintenance\n```\n\n##### 3. Update the version mapping for the docs\n\nUpdate 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.\n\n##### 4. Update version references in the docs app\n\n1. In `docs/getting-started/usage.md` update the version in the code snippet for `package.json`\n2. In `packages/__docs__/src/Hero/index.tsx` update title of the Upgrade Guide button\n3. In `packages/__docs__/src/CodeSandboxButton/index.tsx` update the `@instructure/` dependencies to the latest version\n\n##### 5. Do a release like it was a minor update\n\nFollow 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.\n","title":"Release process","category":"Contributor Guides","order":5,"relativePath":"docs/contributor-docs/release.md","extension":".md","srcPath":"docs/contributor-docs/release.md","srcUrl":"https://github.com/instructure/instructure-ui/tree/master/docs/contributor-docs/release.md","packageName":"@instructure/docs","requirePath":"@instructure/docs/contributor-docs/release","requireStr":"require('/home/runner/work/instructure-ui/instructure-ui/docs/contributor-docs/release.md').default","esPath":"@instructure/docs/contributor-docs/release","themePath":"docs/contributor-docs/release.md","themeUrl":"https://github.com/instructure/instructure-ui/tree/master/docs/contributor-docs/release.md","id":"release"}
0 commit comments