Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add release automation setup. #711

Merged
merged 1 commit into from
Mar 4, 2021
Merged

Add release automation setup. #711

merged 1 commit into from
Mar 4, 2021

Commits on Mar 4, 2021

  1. Add release automation setup.

    This leverages a few external packages to make publishing nice and
    simple:
    
    * [release-it](https://github.com/release-it/release-it) - Responsible
      for handling the main release process.
    * [release-it-lerna-changelog](https://github.com/rwjblue/release-it-lerna-changelog)
      Responsible for building up a nice changelog (based on PRs merged,
      their labels and PR titles), then launching $EDITOR to allow hand
      tweaking of that changelog.
    * [release-it-yarn-workspaces](https://github.com/rwjblue/release-it-yarn-workspaces)
      Responsible for looping through packages, updating the versions (and
      dependency versions), and calling `npm publish` on each.
    
    The `RELEASE.md` file here should describe the process in detail, but
    the highlevel process is:
    
    * As you review and merge PRs, label them and update their titles to be
      something that is "changelog ready"
    * When you are ready to release, run `npx release-it`
    * Follow prompts
    * Review changelog, and tweak as needed
    
    Once the `release-it` process completes, the following will have been
    done:
    
    * All `version` fields will be updated to the new version
    * All related dependencies/devDependencies/peerDependencies will have
      their versions updated (to match the newly selected version)
    * A CHANGELOG.md entry will have been created
    * All packages/* will be published to npm
    * A new GitHub Release will be published
    * The branch and tag will be pushed
    rwjblue committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    9a5c6a4 View commit details
    Browse the repository at this point in the history