The stream-chat-react package follows semantic versioning and the release is to a big part automated by semantic-release. The utility automates:
- release notes collection from the commits added since the last release
- GitHub release creation
- release notes (
CHANGELOG.md) update - version bump and package release to the NPM
In order to get the above generated outputs, each contributor should follow Angular's Commit Message Format rules.
We need to:
-
Convert the current latest branch to a version branch by creating a PR with adjusted
.releaserc.json. Example PR: GetStream#2507 -
Configure the
masterbranch back fromprereleasetolatestand add a config for the next version branch also designated aslatest. Example PR: GetStream#2506.
At the moment these manual actions have to be taken to achieve a successful release:
- make sure that all the new required features and bug fixes in peer dependency repositories
@stream-io/stream-chat-cssandstream-chat-jsare released - make sure that the peer dependencies
@stream-io/stream-chat-cssandstream-chat-jsare installed at their latest version (seepackage.json,yarn.lock) (if applicable) - squash-merge required pull requests to
masterbranch with appropriate message name, for example:fix(scope): new feature, if this feature is breaking, make sure to includeBREAKING CHANGE: <reason>in the message footer - navigate to "Actions" and in the left bar select the "Release" workflow
- click "Run workflow" and select the branch you want to release from then adjust the prompt options and click "Run workflow", note that allowed branches for PACKAGE RELEASE are: branch names starting with
releaseandmaster, there is no such limititation for the DOCUMENTATION RELEASE, extend the workflow condition and.releaserc.jsonas needed. Themasterbranch is the release-candidate branch.
docs_onlyoption if checked will skip thepackage_releasejob and will only run thedocs_releasedry_runoption if checked will run thesemantic-releasecommand in "dry run" mode and will skipdocs_releasedocs_env(required) option offers two environment options to which the documentation will be pushed to viaGetStream/push-stream-chat-docusaurus-action- defaults tostaging
We maintain multiple demo applications developed with stream-chat-react. With each new version of the package, the applications should have their dependencies upgraded explicitly in their package.json.
The demo apps repositories are:
- GetStream/website-react-examples
- GetStream/watercooler