-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[docs] Add details about patch releases #14301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+24
−5
Merged
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -86,20 +86,30 @@ The last step is to update the KEYS file with your code signing key https://www. | |
| Cut a Release Candidate | ||
| ----------------------- | ||
|
|
||
| To cut a release candidate, one needs to first cut a branch using selected version string, e.g., | ||
| To cut a release candidate, one needs to first cut a branch using selected version string. Branches should be named with the base release version without the patch. For example, to cut a candidate for ``v0.11.0``, the branch should be ``v0.11`` and a tag named ``v0.11.0.rc0`` pushed to the HEAD of that branch once cut. | ||
|
|
||
| .. code-block:: bash | ||
|
|
||
| git clone https://github.com/apache/tvm.git | ||
| cd tvm/ | ||
| # Replace v0.6.0 with the relevant version | ||
| git branch v0.6.0 | ||
| git push --set-upstream origin v0.6.0 | ||
|
|
||
| (*Make sure the version numbers in the source code are correct.* Run ``python3 version.py`` to update the version.) | ||
| # Update version numbers | ||
| # ... | ||
| git add . | ||
| git commit -m"Bump version numbers to v0.6.0" | ||
|
|
||
| # Replace v0.6 with the relevant version | ||
| git branch v0.6 | ||
| git push --set-upstream origin v0.6 | ||
|
|
||
| git tag v0.6.0.rc0 | ||
| git push origin refs/tags/v0.6.0.rc0 | ||
|
|
||
| Make sure the version numbers in the source code are correct (example: https://github.com/apache/tvm/pull/14300). Run ``python3 version.py`` to update the version. Version numbers should be updated immediately after a release candidate branch is pushed. | ||
|
|
||
| Go to the GitHub repositories "releases" tab and click "Draft a new release", | ||
|
|
||
| - Verify the release by checking the version numbers and ensuring that TVM can build and run the unit tests. | ||
| - Provide the release tag in the form of ``v1.0.0.rc0`` where 0 means it's the first release candidate. The tag must match this pattern ``v[0-9]+\.[0-9]+\.[0-9]+\.rc[0-9]`` exactly! | ||
| - Select the commit by clicking Target: branch > Recent commits > $commit_hash | ||
| - Copy and paste release note draft into the description box | ||
|
|
@@ -173,6 +183,11 @@ The release manager also needs to upload the artifacts to ASF SVN, | |
| svn ci --username $ASF_USERNAME --password "$ASF_PASSWORD" -m "Add RC" | ||
|
|
||
|
|
||
| Cherry-Picking | ||
| -------------- | ||
| After a release branch has been cut but before the release has been voted on, the release manager may cherry-pick commits from ``main``. Since release branches are protected on GitHub, to merge this fixes into the release branch (e.g. ``v0.11``), the release manager must file a PR with the cherry-picked changes against the release branch. The PR should roughly match the original one from ``main`` with extra details on why the commit is being cherry-picked. The community then goes through a normal review and merge process for these PRs. Note that these PRs against the release branches must be `signed <https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits>`_. | ||
|
|
||
|
|
||
| Call a Vote on the Release Candidate | ||
| ------------------------------------ | ||
|
|
||
|
|
@@ -246,3 +261,7 @@ Post the Announcement | |
| --------------------- | ||
|
|
||
| Send out an announcement email to [email protected], and [email protected]. The announcement should include the link to release note and download page. | ||
|
|
||
| Patch Releases | ||
| -------------- | ||
| Patch releases should be reserved for critical bug fixes. Patch releases must go through the same process as normal releases, with the option at the release manager's discretion of a shortened release candidate voting window of 24 hours to ensure that fixes are delivered quickly. Each patch release should bump the version numbers on the release base branch (e.g. ``v0.11``) and tags created for release candidates (e.g. ``v0.11.1.rc0``). | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we add a note that PRs need to be marked as GPG "Verified" in GitHub, to be acceptable? I needed to jump quite a few hoops to get that and it was not obvious beforehand, so perhaps we could make that clear for the future Release Mgrs?