Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releasing

Jump to bottom
Evan edited this page Jan 27, 2021 * 13 revisions

Whenever someone runs npm install @patternfly/react-core they aren't using our latest code from master. Instead, they're using a "promoted" version that we've tested in product.

Prereleasing

Every commit to master runs lerna publish, which causes packages whose files have changed to be released to NPM under a prerelease tag. Some packages do not use prereleases, like react-icons, and some packages are not released at all like react-integration. Some like react-styled-system haven't been released in 7+ months, are unused, and can be ignored in all steps.

Testing in product

Since most of our @patternfly/react-* packages release on a prerelease cycle and might break products, we periodically promote them from "prerelease" to "latest" after testing in-product. The version numbers can be gathered by checking NPM or repo tags, or by simply running ./scripts/promote.sh from the root of the patternfly-react repo. Grab the latest version numbers for the following 12 packages (note this number can change if new packages are added in future PF releases):

  • @patternfly/patternfly
  • @patternfly/react-catalog-view-extension
  • @patternfly/react-charts
  • @patternfly/react-code-editor
  • @patternfly/react-core
  • @patternfly/react-icons
  • @patternfly/react-inline-edit-extension
  • @patternfly/react-styles
  • @patternfly/react-table
  • @patternfly/react-tokens
  • @patternfly/react-topology
  • @patternfly/react-virtualized-extension

and share them with product testers. You might have to do this a few more times if product testers require changes to our packages to not break their products.

Promoting

Once product testers have approved, @redallen has written a script to echo the commands to promote, which should always be done manually after verification from products. To log out the commands you'll need to copy/paste in order to promote, simply run ./scripts/promote.sh promote from the root of the patternfly-react repo.

The output looks like:

Promoting @patternfly/react-catalog-view-extension@1.3.14 to latest from 1.2.5
npm dist-tag add @patternfly/react-catalog-view-extension@1.3.14 latest
...

Simply run the npm dist-tag add @patternfly/react-*@version latest commands after verifying the @version part is the same version as was tested in product. Once all packages are promoted, we have a release!

Next steps: update patternfly.org to reflect the new release & release notes.

Clone this wiki locally