Skip to content

Commit ecd7d01

Browse files
committed
New test workflow.
Fixes #1, #2, #3.
1 parent 94d942e commit ecd7d01

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

.github/workflows/close-pulls.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Close Pull Requests
2+
3+
on:
4+
push:
5+
branches:
6+
- 'test-close-prs'
7+
8+
jobs:
9+
close-prs:
10+
name: Close Pull Requests on Push
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout repository
15+
uses: actions/checkout@v3
16+
17+
- name: Parse commit message
18+
id: parse-commit
19+
run: |
20+
COMMIT_MESSAGE="${{ github.event.head_commit.message }}"
21+
FIXES_LIST=$(echo "$COMMIT_MESSAGE" | grep -oP '(?<=Fixes )#\d+(, #\d+)*' | grep -oP '\d+')
22+
echo "fixes_list=$FIXES_LIST" >> $GITHUB_OUTPUT
23+
24+
- name: Print fixes list for debugging
25+
run: |
26+
echo "Fixes list: ${{ steps.parse-commit.outputs.fixes_list }}"
27+
28+
- name: Find pull requests
29+
id: pr-results
30+
uses: actions/github-script@v7
31+
with:
32+
script: |
33+
const fixesList = "${{ steps.parse-commit.outputs.fixes_list }}".split('\n');
34+
let relatedPRs = [];
35+
36+
for (const value of fixesList) {
37+
const query = `is:pr is:open repo:WordPress/wordpress-develop in:body https://core.trac.wordpress.org/ticket/${value}`;
38+
const result = await github.rest.search.issuesAndPullRequests({ q: query });
39+
relatedPRs = relatedPRs.concat(result.data.items.map(pr => ({
40+
owner: 'wordpress',
41+
repo: pr.repository_url.split('/').slice(-2).join('/'),
42+
number: pr.number
43+
})));
44+
}
45+
46+
console.log(relatedPRs);
47+
return relatedPRs;

0 commit comments

Comments
 (0)