Skip to content

Release Process

Ryan Johnson edited this page Nov 19, 2018 · 17 revisions

Prerequisites

The npm whoami command should respond with "helix-ui".

$ npm whoami
helix-ui

If a different value or no value comes back, STOP!

Ask a HelixUI dev for help, before you continue.


1. Prepare Files

The npm command will package up everything in dist/ and publish to npmjs.org, so you want to make sure that it's as clean as possible.

# Clean up development files
rm -rf dist/

# Update working copy to latest changes in master
git checkout master
git pull

The prepublish script will handle recompiling before things get sent to NPM.

2. Create Release Branch

Given that the release tasks will update package.json, we want to make sure we stick to a feature branch workflow so that we can merge the version changes back into master.

The name of this branch doesn't matter, but it does need to be based off master.

A good pattern to follow is...

git checkout -t -b release-{VERSION}

3. Bump Version

npm already has logic built-in to bump the version number. Run npm help version for more information.

WARNING: npm currently does not have a dry run option. Start with premajor, preminor, or prepatch to make sure everything is running smoothly before you publish.

npm version (major | minor | patch | premajor | preminor | prepatch | prerelease)

Version Example

Say we're currently at 0.0.1 of HelixUI.

npm version prepatch   # 0.0.2-0
npm version prerelease # 0.0.2-1
npm version patch      # 0.0.2

npm version preminor   # 0.1.0-0
npm version prerelease # 0.1.0-1
npm version minor      # 0.1.0

npm version premajor   # 1.0.0-0
npm version prerelease # 1.0.0-1
npm version major      # 1.0.0

4. Publish Assets to NPM

NOTE: This step requires npm whoami to be set up correctly.

To publish new assets to NPM, just run:

npm publish

Verify via Browser

Check the version displayed for the helix-ui package on npmjs.com.

Verify via CLI

Check the output of:

npm view helix-ui version versions

5. Publish Documentation

Documentation is published separately from npm assets. This command can be run independently of the above steps to push updated documentation without the need to publish new NPM assets.

npm run ghpages

6. Sync master with updated version number

  1. Submit a PR against master
  2. Verify that all checks pass
  3. Merge PR
  4. Delete version branch
Clone this wiki locally