From 33f509b2f41eadadc9fa630e7a1eb8109f2869eb Mon Sep 17 00:00:00 2001 From: Tobias Hieta Date: Tue, 25 Apr 2023 09:54:33 +0200 Subject: [PATCH] [docs] Update HowToReleaseLLVM documentation. There was a bunch of references to bugzilla and other old instructions in there. I have updated it to match the current reality. Reviewed By: tstellar Differential Revision: https://reviews.llvm.org/D149131 --- llvm/docs/HowToReleaseLLVM.rst | 49 +++++++++++------------------------------- 1 file changed, 13 insertions(+), 36 deletions(-) diff --git a/llvm/docs/HowToReleaseLLVM.rst b/llvm/docs/HowToReleaseLLVM.rst index 0931aa6..15397c5 100644 --- a/llvm/docs/HowToReleaseLLVM.rst +++ b/llvm/docs/HowToReleaseLLVM.rst @@ -115,7 +115,7 @@ Branch the Git trunk using the following procedure: :: - $ git tag -a llvmorg-N-init + $ git tag -sa llvmorg-N-init #. Clear the release notes in trunk. @@ -130,10 +130,7 @@ Update LLVM Version ^^^^^^^^^^^^^^^^^^^ After creating the LLVM release branch, update the release branches' -``CMakeLists.txt`` versions from '``X.0.0git``' to '``X.0.0``'. - -In addition, the version numbers of all the Bugzilla components must be updated -for the next release. +version with the script in ``llvm/utils/release/bump-version.py``. Tagging the LLVM Release Candidates ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -142,7 +139,7 @@ Tag release candidates: :: - $ git tag -a llvmorg-X.Y.Z-rcN + $ git tag -sa llvmorg-X.Y.Z-rcN The Release Manager must supply pre-packaged source tarballs for users. This can be done with the export.sh script in utils/release. @@ -206,12 +203,12 @@ release is out, all bugs reported will have to go on the next stable release. The official release managers are: -* Major releases (X.0): Hans Wennborg -* Stable releases (X.n): Tom Stellard +* Even releases: Tom Stellard (tstellar@redhat.com) +* Odd releases: Tobias Hieta (tobias@hieta.se) The official release testers are volunteered from the community and have consistently validated and released binaries for their targets/OSs. To contact -them, you should post on the `Discourse forums (Project +them, you should post on the `Discourse forums (Project Infrastructure - Release Testers). `_ The official testers list is in the file ``RELEASE_TESTERS.TXT``, in the ``LLVM`` @@ -247,7 +244,7 @@ We ask that all LLVM developers test the release in any the following ways: architecture. We also ask that the OS distribution release managers test their packages with -the first candidate of every release, and report any *new* errors in Bugzilla. +the first candidate of every release, and report any *new* errors in GitHub. If the bug can be reproduced with an unpatched upstream version of the release candidate (as opposed to the distribution's own build), the priority should be release blocker. @@ -265,16 +262,10 @@ Reporting Regressions --------------------- Every regression that is found during the tests (as per the criteria above), -should be filled in a bug in Bugzilla with the priority *release blocker* and -blocking a specific release. - -To help manage all the bugs reported and which ones are blockers or not, a new -"[meta]" bug should be created and all regressions *blocking* that Meta. Once -all blockers are done, the Meta can be closed. +should be filled in a bug in GitHub and added to the release milestone. If a bug can't be reproduced, or stops being a blocker, it should be removed -from the Meta and its priority decreased to *normal*. Debugging can continue, -but on trunk. +from the Milestone. Debugging can continue, but on trunk. Backport Requests ----------------- @@ -317,13 +308,8 @@ This section describes how to triage bug reports: issue. If all the tests pass, then the pull request can be merged. If not, then add a comment on the issue asking someone to take a look at the failures. -#. Once the pull request has been merged push it to the official release branch: - - :: - - git checkout release/XX.x - git pull --ff-only https://github.com/llvm/llvm-project-release-prs release/XX.x - git push https://github.com/llvm/llvm-project release/XX.x:release/XX.x +#. Once the pull request has been merged push it to the official release branch + with the script ``llvm/utils/git/sync-release-repo.sh``. Then add a comment to the issue stating that the fix has been merged along with the git hashes from the release branch. Add the release:merged label to the issue @@ -360,15 +346,6 @@ Below are the rules regarding patching the release branch: ABI compatibility with the previous major release. -Merging Patches -^^^^^^^^^^^^^^^ - -Use the ``git cherry-pick -x`` command to merge patches to the release branch: - -#. ``git cherry-pick -x abcdef0`` - -#. Run regression tests. - Release Final Tasks ------------------- @@ -395,7 +372,7 @@ Tag the final release sources: :: - $ git tag -a llvmorg-X.Y.Z + $ git tag -sa llvmorg-X.Y.Z $ git push https://github.com/llvm/llvm-project.git llvmorg-X.Y.Z Update the LLVM Website @@ -435,7 +412,7 @@ using this command and add it to the post. :: - $ git log --format="[%h %s](https://github.com/llvm/llvm-project/commit/%H)" llvmorg-X.0.N-1..llvmorg-X.0.N + $ git log --format="- %aN: [%s (%h)](https://github.com/llvm/llvm-project/commit/%H)" llvmorg-X.0.N-1..llvmorg-X.0.N Once the release has been announced add a link to the announcement on the llvm homepage (from the llvm-www repo) in the "Release Emails" section. -- 2.7.4