Skip to content

Latest commit

 

History

History
38 lines (36 loc) · 2.48 KB

RELEASING.md

File metadata and controls

38 lines (36 loc) · 2.48 KB

Releasing

To push a new build to NPM, follow these steps. If the process changes, please update this doc. 😃

  1. Ensure that all local changes have been uploaded to GitHub.
  2. Verify that continuous integration is passing.
  3. Check that there are no conflicting dependencies between packages.
    • The easiest way to do this is to run yarn list, scroll to the material-motion section, and verify that there are no bold dependencies in any of the material-motion packages.
  4. Build each package. (yarn run build in the repo root.)
    1. Verify there are no build/lint warnings. If there are, fix them, and go back to step 1.
    2. Smoke test demos-react.
      • yarn run serve it, and ensure the interactions all work as expected.
    3. Smoke test them in a separate project that uses Material Motion.
      1. Generate a tarball preview of the package with yarn pack.
      2. Replace the project's copy of the material-motion packages with the contents of the tarball(s).
      3. Serve the project, and ensure the interactions still work as expected.
    4. Verify that material-motion.bundle.js doesn't contain any import statements.
  5. Read each README, and ensure its information is current.
  6. Verify that each package's .npmignore is correct.
  7. Update the version number:
    • lerna version --no-push will update lerna.json and the package.jsons
    • In each package's README, update the version in:
      • the NPM badge, and
      • the <script> tag example, if there is one.
  8. Update the CHANGELOG.
  9. Amend the commit created by lerna version to include the README and CHANGELOG changes.
  10. Point the tag at the amended commit with git tag vX.X.X --force
  11. lerna publish doesn't support 2FA yet, so cd into each package and run yarn publish
  12. Upload the commit.
  13. yarn run deploy in demos-react. Check that http://material-motion-demos.firebaseapp.com still works correctly.
  14. Delete the material-motion packages in the test project, and run yarn again to pull the published version from NPM. Smoke test it again to validate that the deployed version works correctly.
  15. Look at the published packages on npmjs.com, and verify the versions and READMEs look correct.
  16. Update the stable branch:
    git checkout stable
    git merge develop --ff-only
    git push origin stable