[llvm] [workflows] Drop the intermediate /branch comment for release workflow (PR #79481)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 25 10:33:05 PST 2024


github-actions[bot] wrote:

<!--IGNORE-->
>
><!--LLVM PR SUMMARY COMMENT-->
>
>@llvm/pr-subscribers-github-workflow
>
>Author: Tom Stellard (tstellar)
>
><details>
><summary>Changes</summary>
>
>We used to support a /branch comment to specify a branch with commits to backport to the release branch.  However, now that we can use pull requests this is not needed.
>
>This also simplifies the process, because now the cherry-pick job can create the pull request directly instead of having it split across two separate jobs.
>
>---
>Full diff: https://github.com/llvm/llvm-project/pull/79481.diff
>
>
>3 Files Affected:
>
>- (modified) .github/workflows/issue-release-workflow.yml (+1-32) 
>- (modified) llvm/docs/GitHub.rst (+5-7) 
>- (modified) llvm/utils/git/github-automation.py (+6-11) 
>
>
>``````````diff
>diff --git a/.github/workflows/issue-release-workflow.yml b/.github/workflows/issue-release-workflow.yml
>index 17209ec055f858e..112ece40bac9c1a 100644
>--- a/.github/workflows/issue-release-workflow.yml
>+++ b/.github/workflows/issue-release-workflow.yml
>@@ -35,6 +35,7 @@ jobs:
>     runs-on: ubuntu-latest
>     permissions:
>       issues: write
>+      pull-requests: write
>     if: >-
>       (github.repository == 'llvm/llvm-project') &&
>       !startswith(github.event.comment.body, '<!--IGNORE-->') &&
>@@ -65,35 +66,3 @@ jobs:
>           --branch-repo-token ${{ secrets.RELEASE_WORKFLOW_PUSH_SECRET }} \
>           --issue-number ${{ github.event.issue.number }} \
>           auto
>-
>-  create-pull-request:
>-    name: Create Pull Request
>-    runs-on: ubuntu-latest
>-    permissions:
>-      issues: write
>-      pull-requests: write
>-    if: >-
>-      (github.repository == 'llvm/llvm-project') &&
>-      !startswith(github.event.comment.body, '<!--IGNORE-->') &&
>-      contains(github.event.comment.body, '/branch ')
>-
>-    steps:
>-      - name: Fetch LLVM sources
>-        uses: actions/checkout at v4
>-        with:
>-          persist-credentials: false
>-
>-      - name: Setup Environment
>-        run: |
>-          pip install -r ./llvm/utils/git/requirements.txt
>-
>-      - name: Create Pull Request
>-        run: |
>-          printf "%s" "$COMMENT_BODY" |
>-          ./llvm/utils/git/github-automation.py \
>-          --repo "$GITHUB_REPOSITORY" \
>-          --token ${{ github.token }} \
>-          release-workflow \
>-          --branch-repo-token ${{ secrets.RELEASE_WORKFLOW_PUSH_SECRET }} \
>-          --issue-number ${{ github.event.issue.number }} \
>-          auto
>diff --git a/llvm/docs/GitHub.rst b/llvm/docs/GitHub.rst
>index a89a4d955fc08b2..b84d4953a9488f1 100644
>--- a/llvm/docs/GitHub.rst
>+++ b/llvm/docs/GitHub.rst
>@@ -360,8 +360,8 @@ Releases
> Backporting Fixes to the Release Branches
> -----------------------------------------
> You can use special comments on issues to make backport requests for the
>-release branches.  This is done by making a comment containing one of the
>-following commands on any issue that has been added to one of the "X.Y.Z Release"
>+release branches.  This is done by making a comment containing the following
>+command on any issue that has been added to one of the "X.Y.Z Release"
> milestones.
> 
> ::
>@@ -376,8 +376,6 @@ be created with the specified commits.
> 
> ::
> 
>-  /branch <owner>/<repo>/<branch>
>-
>-This command will create a pull request against the latest release branch using
>-the <branch> from the <owner>/<repo> repository.  <branch> cannot contain any
>-forward slash '/' characters.
>+If a commit you want to backport does not apply cleanly, you may resolve
>+the conflicts locally and then create a pull request against the release
>+branch.  Just make sure to add the release milestone to the pull request.
>diff --git a/llvm/utils/git/github-automation.py b/llvm/utils/git/github-automation.py
>index 72db9995b0e8a59..0531915d5602772 100755
>--- a/llvm/utils/git/github-automation.py
>+++ b/llvm/utils/git/github-automation.py
>@@ -308,6 +308,10 @@ def repo_name(self) -> str:
>     def issue_number(self) -> int:
>         return self._issue_number
> 
>+    @property
>+    def branch_repo_owner(self) -> str:
>+        return self.branch_repo_name.split('/')[0]
>+
>     @property
>     def branch_repo_name(self) -> str:
>         return self._branch_repo_name
>@@ -394,7 +398,7 @@ def issue_notify_cherry_pick_failure(
>         action_url = self.action_url
>         if action_url:
>             message += action_url + "\n\n"
>-        message += "Please manually backport the fix and push it to your github fork.  Once this is done, please add a comment like this:\n\n`/branch <user>/<repo>/<branch>`"
>+        message += "Please manually backport the fix and push it to your github fork.  Once this is done, please create a [pull request](https://github.com/llvm/llvm-project/compare)"
>         issue = self.issue
>         comment = issue.create_comment(message)
>         issue.add_to_labels(self.CHERRY_PICK_FAILED_LABEL)
>@@ -472,9 +476,8 @@ def create_branch(self, commits: List[str]) -> bool:
>         print("Pushing to {} {}".format(push_url, branch_name))
>         local_repo.git.push(push_url, "HEAD:{}".format(branch_name), force=True)
> 
>-        self.issue_notify_branch()
>         self.issue_remove_cherry_pick_failed_label()
>-        return True
>+        return self.create_pull_request(self.branch_repo_owner, self.repo_name, branch_name)
> 
>     def check_if_pull_request_exists(
>         self, repo: github.Repository.Repository, head: str
>@@ -552,14 +555,6 @@ def execute_command(self) -> bool:
>                 commits = list(map(lambda a: extract_commit_hash(a), arg_list))
>                 return self.create_branch(commits)
> 
>-            if command == "branch":
>-                m = re.match("([^/]+)/([^/]+)/(.+)", args)
>-                if m:
>-                    owner = m.group(1)
>-                    repo = m.group(2)
>-                    branch = m.group(3)
>-                    return self.create_pull_request(owner, repo, branch)
>-
>         print("Do not understand input:")
>         print(sys.stdin.readlines())
>         return False
>
>``````````
>
></details>


Error: Command failed due to missing milestone.

https://github.com/llvm/llvm-project/pull/79481


More information about the llvm-commits mailing list