Skip to content

Latest commit

 

History

History
34 lines (24 loc) · 2.16 KB

File metadata and controls

34 lines (24 loc) · 2.16 KB

Releasing

Steps for a new release (these are in the process of being automated):

  1. Check out main and make sure you have pulled down the latest changes (git pull origin main --tags)

  2. Run yarn release which uses standard-version to:

    • Determine the new version based on new commit messages
    • Generate a new entry in the changelog with the version, release notes, and today's date.
    • Commit all of the above changes with the message chore(release): <version>
    • Note: Creating a new tag is skipped (this will happen as part of the publish flow)
  3. Push changes to a new branch following the naming pattern: release-<version>

    • For example: git checkout -b release-1.1.0
  4. Open a PR for the release branch against main, with the changelog generated by the previous step included in the PR description.

    • PR title should be chore(release): <version>
    • Ask for approvals from stakeholders, perform testing on applications, etc.
    • Last minute bugfix from testing or PR feedback can be made.
      • Add bugfix commits on top of the release. Squash and merge the PR as usual.
      • For significant bugfix (special case)
        • Redo the release. Reset your local release branch, add bugfix commits (use conventional commits syntax). Rerun yarn release. The release chore commit should be the last commit on the branch. The fix will be included in the changelog. _Rebase and merge the PR in this special case.

    image

  5. Once the release PR is approved, complete the release and publish the new version (this should be automated by GH - TODO):

    • Merge the PR and create a new release tag pointed at main on Github. Use the same notes as release PR.
    • Pull down latest main locally before publishing - git pull origin main --tags
    • Publish the new package to npm: npm publish. You will be prompted for a MFA code.
      • You may need to npm login first.
      • Publishing access is limited to package owners. If you need access and don't have it, please contact @npm-admins on Truss Slack.