Skip to content

Release Process

Ryan Johnson edited this page Apr 17, 2019 · 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 generated files
rm -rf dist public

# 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-rc.0
npm version prerelease # 0.0.2-rc.1
npm version patch      # 0.0.2

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

npm version premajor   # 1.0.0-rc.0
npm version prerelease # 1.0.0-rc.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.

Stable Documentation

URL: https://rackerlabs.github.io/helix-ui/

Steps

From the root of the project, run the following command:

npm run ghpages

Pre-Release Documentation

URL: https://helix-ui.netlify.com

Steps

  1. Log in to https://app.netlify.com/
  2. Open the "helix-ui" site
  3. Navigate to "Deploys"
  4. From the "Trigger Deploy" dropdown menu, click "Deploy Site".
  5. Wait for Netlify to report status

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