yawyd313 f1ed1fab88 init | 11 månader sedan | |
---|---|---|
.. | ||
Makefile | 11 månader sedan | |
README.md | 11 månader sedan | |
latest_release_branch.sh | 11 månader sedan | |
requirements_docs.txt | 11 månader sedan |
The workflow at a high level for minor releases is as follows:
Before the process of releasing a new version of Rook can begin, all items in the below release criteria must be completed and verified. The maintainers have the responsibility of ensuring this criteria is met.
master
is Green with unit tests and integration tests succeeding for the full test matrix.master
.When ready for a release, pushing the release tag will trigger all the necessary actions for the release.
The tags allow for a progression of pre-releases such as:
v1.8.0-alpha.0
: Alpha releasev1.8.0-beta.0
: Beta releasev1.8.0-rc.0
: Release candidatev1.8.0
: Official release buildThe release tags should be agreed on by the release team.
The first time a minor release tag is pushed, the release branch will be created from master
.
Push an alpha version tag the first time the branch is created (e.g. v1.8.0-alpha.0
).
Tagging will cause the release branch to be created. Next, merge a PR to the new release branch
that updates the documentation and example manifests with a beta tag (e.g. v1.8.0-beta.0
).
Now you can tag the release with the beta tag (v1.8.0-beta.0
) and the release will be built and released.
For all other minor or patch releases on this branch, simply follow the tagging instructions
in the next section with the updated version.
IMPORTANT Before tagging the release, open a new PR to update the documentation and example manifest tags to the release version.
To publish a new patch release build, follow these steps:
Tag the branch:
# make sure no files are checked out locally, then proceed:
git checkout <branch> # e.g. release-1.10
git pull
# set to the new release
tag_name=<release version> # e.g., v1.10.9
git tag -a "$tag_name" -m "$tag_name release tag"
git push upstream "$tag_name"
Generate release notes:
git checkout master
git fetch -A
export FROM_BRANCH=<release version> # e.g., v1.10.9
export TO_TAG=<previous release version> # e.g., v1.10.8
tests/scripts/gen_release_notes.sh
When the release build is done (~15 minutes after tagging and pushing), publish the release notes by creating the release on GitHub. Be sure to review the Authoring Release Notes section below.
Every official release should have comprehensive and well written release notes published. While work is ongoing for a milestone, contributors should be keeping the pending release notes up to date, so that should be used as a starting point.
A script tests/scripts/gen_release_notes.sh
is used to generate the release notes automatically.
The release notes should be authored to communicate as clearly as possible the features and bug fixes that would possibly affect end users. Small fixes to the CI, docs, or other non-product issues need not be mentioned.
Ensure that you only click Save draft
until the release is complete, after which you can then click Publish release
to make them public.
Images are pushed to docker hub under the rook/ceph repo.