When using the default GitHub token, no further Actions are triggered, which means a backport PR is not checked against the normal CI runs, and it should be. This switches to using a token generated by the freecad-ci-runner GitHub account.
53 lines
1.6 KiB
YAML
53 lines
1.6 KiB
YAML
name: Backport merged pull request
|
|
|
|
on:
|
|
pull_request_target:
|
|
types: [closed, labeled]
|
|
branches: [main, releases/*]
|
|
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
backport:
|
|
name: Create backport pull request
|
|
runs-on: ubuntu-latest
|
|
|
|
# Run the action if a PR is merged with backport labels
|
|
# OR
|
|
# when already merged PR is labeled with backport labels
|
|
if: >
|
|
github.event.pull_request.merged
|
|
&& (
|
|
github.event.action == 'closed'
|
|
|| (
|
|
github.event.action == 'labeled'
|
|
&& startsWith(github.event.label.name, 'backport ')
|
|
)
|
|
)
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
token: ${{ secrets.GH_TOKEN_FOR_CI_RUNNERS }}
|
|
|
|
- name: Create backport pull requests
|
|
uses: korthout/backport-action@d07416681cab29bf2661702f925f020aaa962997 # v3.4.1
|
|
with:
|
|
# Inputs documented here: https://github.com/korthout/backport-action?tab=readme-ov-file#inputs
|
|
github_token: ${{ secrets.GH_TOKEN_FOR_CI_RUNNERS }}
|
|
github_workspace: ${{ github.workspace }}
|
|
|
|
# permit PRs with merge commits to be backported
|
|
merge_commits: 'skip'
|
|
|
|
# copy labels to backport to identify affected systems and priorities
|
|
copy_labels_pattern: '.*'
|
|
|
|
# Regex pattern to match github labels
|
|
# The capture group catches the target branch
|
|
# i.e. label "backport releases/FreeCAD-1-0" will create backport
|
|
# PR for branch releases/FreeCAD-1-0
|
|
label_pattern: ^backport ([^ ]+)$
|