Tom Stellard | daf82a5 | 2022-02-03 22:44:07 | [diff] [blame] | 1 | # This contains the workflow definitions that allow users to test backports |
| 2 | # to the release branch using comments on issues. |
| 3 | # |
| 4 | # /cherry-pick <commit> <...> |
| 5 | # |
| 6 | # This comment will attempt to cherry-pick the given commits to the latest |
Mohammed Keyvanzadeh | 7e5f75a | 2022-05-09 01:02:26 | [diff] [blame] | 7 | # release branch (release/Y.x) and if successful, push the result to a branch |
Tom Stellard | daf82a5 | 2022-02-03 22:44:07 | [diff] [blame] | 8 | # on github. |
| 9 | # |
| 10 | # /branch <owner>/<repo>/<branch> |
| 11 | # |
| 12 | # This comment will create a pull request from <branch> to the latest release |
| 13 | # branch. |
| 14 | |
| 15 | name: Issue Release Workflow |
| 16 | |
Joyce Brum | 829b891 | 2023-03-04 05:34:25 | [diff] [blame] | 17 | permissions: |
| 18 | contents: read |
| 19 | |
Tom Stellard | daf82a5 | 2022-02-03 22:44:07 | [diff] [blame] | 20 | on: |
| 21 | issue_comment: |
| 22 | types: |
| 23 | - created |
| 24 | - edited |
Tom Stellard | fee491a | 2022-02-17 06:18:03 | [diff] [blame] | 25 | issues: |
| 26 | types: |
| 27 | - opened |
Tom Stellard | daf82a5 | 2022-02-03 22:44:07 | [diff] [blame] | 28 | |
| 29 | env: |
Tom Stellard | fee491a | 2022-02-17 06:18:03 | [diff] [blame] | 30 | COMMENT_BODY: ${{ github.event.action == 'opened' && github.event.issue.body || github.event.comment.body }} |
Tom Stellard | daf82a5 | 2022-02-03 22:44:07 | [diff] [blame] | 31 | |
| 32 | jobs: |
| 33 | backport-commits: |
| 34 | name: Backport Commits |
Aiden Grossman | 0ce4b68 | 2025-03-06 18:32:02 | [diff] [blame^] | 35 | runs-on: ubuntu-24.04 |
Nikita Popov | 5db2e58 | 2024-01-24 14:42:48 | [diff] [blame] | 36 | permissions: |
| 37 | issues: write |
Tom Stellard | e99edf6 | 2024-01-25 21:11:09 | [diff] [blame] | 38 | pull-requests: write |
Tom Stellard | daf82a5 | 2022-02-03 22:44:07 | [diff] [blame] | 39 | if: >- |
Mohammed Keyvanzadeh | 7e5f75a | 2022-05-09 01:02:26 | [diff] [blame] | 40 | (github.repository == 'llvm/llvm-project') && |
| 41 | !startswith(github.event.comment.body, '<!--IGNORE-->') && |
| 42 | contains(github.event.action == 'opened' && github.event.issue.body || github.event.comment.body, '/cherry-pick') |
Tom Stellard | daf82a5 | 2022-02-03 22:44:07 | [diff] [blame] | 43 | steps: |
| 44 | - name: Fetch LLVM sources |
Aiden Grossman | 705decc | 2025-03-03 16:37:20 | [diff] [blame] | 45 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |
Tom Stellard | daf82a5 | 2022-02-03 22:44:07 | [diff] [blame] | 46 | with: |
| 47 | repository: llvm/llvm-project |
Tom Stellard | 9bbe44f | 2022-02-05 06:22:01 | [diff] [blame] | 48 | # GitHub stores the token used for checkout and uses it for pushes |
| 49 | # too, but we want to use a different token for pushing, so we need |
| 50 | # to disable persist-credentials here. |
| 51 | persist-credentials: false |
Tom Stellard | daf82a5 | 2022-02-03 22:44:07 | [diff] [blame] | 52 | fetch-depth: 0 |
| 53 | |
| 54 | - name: Setup Environment |
| 55 | run: | |
Tom Stellard | 89b83d2 | 2024-05-17 13:49:27 | [diff] [blame] | 56 | pip install --require-hashes -r ./llvm/utils/git/requirements.txt |
Tom Stellard | daf82a5 | 2022-02-03 22:44:07 | [diff] [blame] | 57 | ./llvm/utils/git/github-automation.py --token ${{ github.token }} setup-llvmbot-git |
| 58 | |
| 59 | - name: Backport Commits |
| 60 | run: | |
Mohammed Keyvanzadeh | 859e6aa | 2023-09-12 22:21:47 | [diff] [blame] | 61 | printf "%s" "$COMMENT_BODY" | |
Tom Stellard | daf82a5 | 2022-02-03 22:44:07 | [diff] [blame] | 62 | ./llvm/utils/git/github-automation.py \ |
Mohammed Keyvanzadeh | 859e6aa | 2023-09-12 22:21:47 | [diff] [blame] | 63 | --repo "$GITHUB_REPOSITORY" \ |
Tom Stellard | d2c8167 | 2024-01-26 19:25:53 | [diff] [blame] | 64 | --token "${{ secrets.RELEASE_WORKFLOW_PR_CREATE }}" \ |
Tom Stellard | daf82a5 | 2022-02-03 22:44:07 | [diff] [blame] | 65 | release-workflow \ |
Nikita Popov | f03a60d | 2024-01-24 15:05:56 | [diff] [blame] | 66 | --branch-repo-token ${{ secrets.RELEASE_WORKFLOW_PUSH_SECRET }} \ |
Tom Stellard | daf82a5 | 2022-02-03 22:44:07 | [diff] [blame] | 67 | --issue-number ${{ github.event.issue.number }} \ |
Tom Stellard | 0be1c3b | 2024-03-09 22:20:15 | [diff] [blame] | 68 | --requested-by ${{ (github.event.action == 'opened' && github.event.issue.user.login) || github.event.comment.user.login }} \ |
Tom Stellard | daf82a5 | 2022-02-03 22:44:07 | [diff] [blame] | 69 | auto |