diff --git a/docs/contributing.md b/docs/contributing.md index 2bf62f1a4e..4bd4764e93 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -90,17 +90,26 @@ Steps for a new release (these are in the process of being automated): - Commit all of the above changes - Note: Creating a new tag is **skipped** (this will happen as part of the publish flow) -1. Push changes to a new branch following the naming pattern: `release-` +1. Commit changes with message `chore(release): `. Push changes to a new branch following the naming pattern: `release-` - For example: `git checkout -b release-1.1.0` -1. Open a PR for the release branch against **`master`** (not `develop`, which is the default branch), with the new set of changes generated by the previous step included in the PR description. Ask for approvals from stakeholders, perform testing on applications, etc. Any hot fixes from testing or PR feedback can be made to the release branch directly if appropriate. +1. Open a PR for the release branch against **`master`** (not `develop`, which is the default branch), with the new set of changes generated by the previous step included in the PR description. Resolve any conflicts. + + - Ask for approvals from stakeholders, perform testing on applications, etc. + - Any hot fixes from testing or PR feedback can be made to the release branch directly if appropriate (use conventional commits syntax). ![image](./release_PR.png) 1. Once the release PR is approved, complete the release and publish the new version (this should be automated by GH - TODO): - - Merge the PR into master - - Create a release tag on Github (https://github.com/trussworks/react-uswds/releases) - - Merge master into develop so that develop is up to date with the new version. - - Finally, publish the new package to npm: `npm publish` + - Merge the PR into master. + - Use **Rebase and Merge** option + - Create a new [**release tag**](https://github.com/trussworks/react-uswds/releases) pointed at `master` on Github. + - Use the same notes as release PR. + - Publish the new package to npm: `npm publish` + - Pull down latest `master` locally before publishing - Publishing access is limited to package owners. If you need access and don't have it, please contact `@npm-admins` on Truss Slack. + - You may need to `npm login` first. + +- Finish process by bringing develop branch back up to date. + - Create a second PR from release branch back into develop. PR title should be`chore(release): ` **Squash and Merge.**