ci: backports: check if a backport PR has a valid issue
This is an automated check for the Backports project to
require one or more `Fixes #<issue>` items in the body
of the pull request.
Fixes #46164
Signed-off-by: Christopher Friedt <cfriedt@fb.com>
diff --git a/.github/workflows/backport_issue_check.yml b/.github/workflows/backport_issue_check.yml
new file mode 100644
index 0000000..533d853
--- /dev/null
+++ b/.github/workflows/backport_issue_check.yml
@@ -0,0 +1,30 @@
+name: Backport Issue Check
+
+on:
+ pull_request_target:
+ branches:
+ - v*-branch
+
+jobs:
+ backport:
+ name: Backport Issue Check
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Check out source code
+ uses: actions/checkout@v2
+
+ - name: Install Python dependencies
+ run: |
+ sudo pip3 install -U setuptools wheel pip
+ pip3 install -U pygithub
+
+ - name: Run backport issue checker
+ env:
+ GITHUB_TOKEN: ${{ secrets.ZB_GITHUB_TOKEN }}
+ run: |
+ ./scripts/release/list_backports.py \
+ -o ${{ github.event.repository.owner.login }} \
+ -r ${{ github.event.repository.name }} \
+ -b ${{ github.event.pull_request.base.ref }} \
+ -p ${{ github.event.pull_request.number }}
diff --git a/scripts/release/list_backports.py b/scripts/release/list_backports.py
index da47568..8d72e43 100755
--- a/scripts/release/list_backports.py
+++ b/scripts/release/list_backports.py
@@ -254,8 +254,7 @@
self._pulls_without_an_issue.append(p)
continue
- # FIXME: when we have upgrade to python3.9+, use "issue_map | issues_for_this_pr"
- issue_map = {**issue_map, **issues_for_this_pr}
+ issue_map = issue_map | issues_for_this_pr
issues = list(issue_map.values())