Skip to content

Release Process

Brian Muenzenmeyer edited this page Mar 2, 2018 · 14 revisions

Normal Process

  1. Merge PRs to master as ready

  2. Pull master down locally

  3. npm run release -- --no-verify

    • Bumps package.json based on conventional commits
    • Updates CHANGELOG.md
    • Commits CHANGELOG.md
    • Creates Tag
  4. Review CHANGELOG.md

    • If changes need be made, delete and re-tag.
  5. Push to master

  6. npm publish --access public

  7. Create new Github Release Notes. Tag should already exist now

  8. Copy previous release's release notes into the draft.

  9. Update summary, Changelog, Travis and Coveralls stats

  10. 🎉

Alpha and Beta Releases

Same as above, except the command in step 3 should be npm run release -- --no-verify --release-as <<version>>

Example: npm run release -- --no-verify --release-as 3.0.0-alpha.7

Lerna

Install lerna globally: https://github.com/lerna/lerna

  1. Merge to master via Github
  2. git checkout master
  3. git fetch
  4. git pull

WHILE IN PRE-RELEASE MODE ONLY

lerna publish --allow-branch dev --skip-npm --conventional-commits --preid=alpha --independent --cd-version prerelease

AFTER STABLE

lerna publish --skip-npm --conventional-commits --independent
  1. push tags to origin if they and the CHANGELOGs look right
  2. npm publish each package

Evaluate if we can remove --skip-npm