Skip to content

Release

taysea edited this page May 11, 2021 · 2 revisions

This wiki page is documenting the Grommet release process:

Pre-requisites

  1. Make sure you have github write permissions on the grommet repo.
  2. Make sure you have NPM permissions to officially publish the release on NPM.
  3. Know the Semantic Versioning rules to determine whether the release is a major/minor/hotfix release.
  4. Make sure you are familiar with all the background content available on this recording
  5. Go over all recent commits from the previous release, summarize notes from each commit that is relevant to production in the past tense.

Let's Get Started

  1. Open your local clone of grommet-theme-hpe - make sure it is all cleaned up without any local changes on your master branch.
  2. git pull - make sure you are up to date with the master branch.
  3. In package.json update the version following the Semantic Versioning conventions.
  4. Add and commit directly to master with message Updated vX.Y.Z (i.e., Updated v2.17.0) - This is the only time we directly commit to the master branch (EVER 😉).
  5. git push the commit of package.json - to play it safe, continue to the next step after circleci finishes without any errors/warnings.
  6. Create github tag git tag vX.Y.Z - One has to include the “v” on the tag, so cicrcleci/github will register it properly.
  7. Check that the push to master has passed in CircleCI.
  8. After it passes, push tag using git push origin vX.Y.Z.
  9. Run locally yarn build to create the production files.

On Github

  1. Create the release https://github.com/grommet/grommet-theme-hpe/releases) from the draft that should have been created automatically on the github releases page.
  2. Edit the draft, and paste release notes to it.
  3. Hit publish (Congrats!!)

Confirmation

Confirm the release was successful by the following:

  1. Confirm latest version is displayed on NPM (https://www.npmjs.com/package/grommet)
  2. Confirm the latest version is available on CodeSandbox (https://codesandbox.io/s/m7mml8l0zj) (change version manually in package.json if it doesn’t show up in the dropdown). The confirmation could be done by running a code that is only relevant for this release on the code sandbox and see it works as expected.

Last Steps

  1. Go to grommet and update the theme dependency. Make sure the theme displays well on storybook "All" story.
  2. Finally, post an announcement in #hpe-design-system on Slack.