RELEASE.md
The full process for releasing Fluvio consists of 3 separate workflows, which are detailed below in their own sections:
In the event that a release needs to be un-released, please follow the Release recovery process
This is a mostly manual workflow
Create a new issue with the release_checklist.md template
Prior to releasing, the release manager should check the following:
Review Fluvio website:
Other dependent repos:
infinyon/fluvio-smartmodule-template if needed.This is a mostly automated workflow
Send a message in the Infinyon Slack #dev channel to let the team know release is about to occur.
The team should understand that No PR merges unrelated to release should occur during this time
Run the release.yml Github Actions workflow
This workflow will:
CHANGELOG.md)fluvio package) for installercrates directory
fluvio and any dependenciesfluvio-smartmodule and any dependenciesv0.0.0If any steps fail in release.yml, try to run it a 2nd time before asking in #dev.
This workflow has been written to be idempotent. It will only perform work if necessary. (Even if run multiple times!)
Release the connector for the new version of Fluvio in: https://github.com/infinyon/fluvio-connectors.
If there is no major changes in the connector, then only patch or minor version should be updated.
This is a mostly manual workflow
After performing the release, the release manager should do the following in order to prepare for the next release and announce the current release to the community:
The automated workflow created an issue called [Release Checklist]: VERSION. Add that issue to the corresponding milestone
Update files in Fluvio repo, open PR (with the ?template=release_template.md PR template) and merge
VERSION file for next release
VERSION file with -dev-1. For example, if release was 0.10.1 then version should be bump to 0.10.2-dev-1.CHANGELOG.md file for next release
VERSION file) with a release date of UNRELEASED to
CHANGELOG.md at top of file (but under the # Release Notes header)
## Platform Version X.Y.Z - UNRELEASEDUNRELEASED date with current date (format as YYYY-MM-dd) in CHANGELOG.md.?template=release_template.md PR template and link the previously created release tracking issue to close.Close the release milestone after the PR CI completes. This is located on the milestones page.
Announce the release on Discord (#announcements channel) and Twitter (@fluvio_io user).
Fluvio vX.Y.Z is out! 🎉
This release includes:
* (Changelog feature 1)
* (Changelog feature 2)
* (Changelog feature 3)
Link to full release notes 📋
https://github.com/infinyon/fluvio/releases/tag/vX.Y.Z
Send another message in Infinyon Slack to let the team know that release is complete (so we can merge PRs again!)
This is a completely manual workflow
In the event that the release automation fails, there is manual cleanup required before re-running the automation.
fluvio and fluvio-run artifactsfluvio install fluvio-packagefluvio package tag fluvio:x.y.z --tag=stable --forcecurl -fsS https://raw.githubusercontent.com/fluvio-community/fluvio/master/install.sh | bash