-
Notifications
You must be signed in to change notification settings - Fork 355
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-integration. 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 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.
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/[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 all packages are promoted, we have a release! 🎉
Next steps: update patternfly.org to reflect the new release & release notes.