Skip to content

Instantly share code, notes, and snippets.

@nerdstein
Created October 26, 2017 01:22
Show Gist options
  • Save nerdstein/ed5a220000c6f35e61e1ffdde4a9593a to your computer and use it in GitHub Desktop.
Save nerdstein/ed5a220000c6f35e61e1ffdde4a9593a to your computer and use it in GitHub Desktop.
React Dash release management

This will be a replacement for https://github.com/NuCivic/react-dash/blob/master/docs/development/workflows/publish.md

Dependencies

  1. Set up an account on npm
  2. Get added as maintainer on https://www.npmjs.com/package/react-dash and on the github repository
  3. Identify the next release based on semantic versioning, in the form of x.y.z
  4. Verify you have the appropriate git remotes, both an origin for your fork and an upstream for the React Dash repository

Creating a new release

  1. Make updates in the changelog to describe the new release
  2. Check the status of your local repository for any unwanted changes: git status (please note: you should not have any unexpected local changes that have not been code reviewed within a pull request)
  3. Commit the changelog and any final changes: git commit -a -m "Changelog for the [x.y.z] release" (please substitute x.y.z for the new release)
  4. Verify your branch: git branch -v.
  5. If you are not on the master branch, please merge your current branch (which should be your release candidate) into master: git checkout master && git merge [branch from previous step] (please substitute the [branch from previous step] with the output from the aforementioned branch verification step)
  6. Update the version of the package: npm version [ patch | minor ] (please substitute specifically with the word patch or minor)
  7. Publish the package: npm publish
  8. Commit the package and tag: git commit -a -m "Package info for the [x.y.z] release" && git push upstream master --tags (please substitute x.y.z for the new release)
  9. Go to the github releases page, create a new release from the x.y.z tag

Release verification

Confirm that publication was successful (eg: npm install react-dash@0.3.5 then confirm that code updates are valid)

Versioning information

We use semantic versioning http://semver.org/

x.y.z x = major version (not currently implemented), y = minor version, z = patch version

minor versions are NOT backward compatible before v1.0.0 (0.7.x is not guaranteed to be backwards compatible with 0.6.x)

patch versions should maintain backwards compatibility (0.7.2 should be compatible with 0.7.3)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment