|
| 1 | +# Patternfly Release Process |
| 2 | + |
| 3 | +At periodic intervals PatternFly, and all repos which utilize PF, must be versioned. Below is a summary of all the steps involved. For more information on each repo, please see [PatternFly Documentation](https://depot-uxd.itos.redhat.com/uxd-team/uxd-dev-team/#docs). |
| 4 | + |
| 5 | +Note that many of the release steps have been automated by scripts, named release.sh and release-all.sh. Where applicable to each repo, these scripts will clone a new repo from GitHub, bump the npm/bower version and website home page version numbers. The scripts will also clean the npm/bower cache, run npm install, bower install, grunt build, grunt ngdocs:publish, npm shrinkwrap, npm publish, npm test, nsp shrinkwrap audit, and will verify npm/bower installs. |
| 6 | + |
| 7 | +### release.sh |
| 8 | + |
| 9 | +This script will bump version numbers, build, shrinkwrap, test, install, push to GitHub, and publish to npm. These changes are added to a branch that must be merged with a PR on GitHub. |
| 10 | + |
| 11 | +Although many release steps have been automated, this is a manual release process. Creating a PR, release notes, and community email are still tasks which must be performed manually. |
| 12 | + |
| 13 | +This is useful when debugging build issues or publishing individual releases. In fact, release-all.sh uses this script to automate the release process. |
| 14 | + |
| 15 | +1. Choose version using [semantic versioning](https://docs.npmjs.com/getting-started/semantic-versioning) ([details](https://github.com/patternfly/patternfly/blob/master/README.md#release)) |
| 16 | +2. Bump the version number, build, etc. |
| 17 | + - Run sh ./scripts/release/release.sh -v <version> -f |
| 18 | +3. Review ngDoc pages, verify latest changes |
| 19 | + - cd /tmp/patternfly-releases/angular-patternfly |
| 20 | + - Run grunt server |
| 21 | +4. PR reviewed & merged (no dist files should be checked in) |
| 22 | +5. NPM Publish |
| 23 | + - Create an NPM account and become a collaborator for https://www.npmjs.com/package/angular-patternfly |
| 24 | + - Run sh ./scripts/release/release.sh -p |
| 25 | +6. Release Notes Published (via GitHub) |
| 26 | + - Tag “master-dist” branch commit with updated version |
| 27 | +7. Community email sent ( [email protected]) |
| 28 | + |
| 29 | +### release-all.sh |
| 30 | + |
| 31 | +This script is used to automate and chain releases together. When the Patternfly release is complete, the release processes for Angular Patternfly and RCUE are kicked off. When the Angular Patternfly release is complete, Patternfly Org will be released as well. |
| 32 | + |
| 33 | +The script kicks off the release by creating a custom Git tag. When Travis sees this custom tag, it will run the appropriate scripts to automatically bump version numbers, build, shrinkwrap, test, install, and publish the release. |
| 34 | + |
| 35 | +Although there is no PR to deal with here, creating release notes is still a task which must be performed manually via GitHub. |
| 36 | + |
| 37 | +Note: Builds can only be stopped via the Travis CI. |
| 38 | + |
| 39 | +1. Choose version using [semantic versioning](https://docs.npmjs.com/getting-started/semantic-versioning) ([details](https://github.com/patternfly/patternfly/blob/master/README.md#release)) |
| 40 | +2. Run sh ./scripts/release/release-all.sh -v <version> |
| 41 | +3. Release Notes Published (via GitHub) |
| 42 | + - Tag “master-dist” branch commit with updated version |
| 43 | +4. Run sh ./scripts/release/notify.sh -v <version> |
0 commit comments