-
Notifications
You must be signed in to change notification settings - Fork 370
Releasing
Whenever someone runs npm install @patternfly/react-core
they aren't using our latest code from master. Instead, they're using an older promoted version that we released after we tested in product.
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-docs. Some like react-styled-system haven't been released in 7+ months, are unused, and can be ignored in all steps.
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 the commit messages of the latest few commits by patternfly-build in master's commit log. Grab the latest version numbers for the following 10 packages:
- @patternfly/react-catalog-view-extension
- @patternfly/react-charts
- @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.
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.
The output looks like:
Promoting @patternfly/[email protected] to latest from 1.2.5
npm dist-tag add @patternfly/[email protected] 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 the 9 packages are promoted (react-icons being the exception), we have a release! 🎉