-
Notifications
You must be signed in to change notification settings - Fork 352
Releasing
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.
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 11 packages:
- @patternfly/patternfly (get this number from NPM or Github
- @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/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 the 9 packages are promoted (react-icons being the exception), we have a release! 🎉