chore(ci): label FTC-closed PRs as needs-issue (#7249)

This commit is contained in:
Vidit Ostwal
2026-09-09 00:32:53 +05:30
committed by GitHub
parent 79befd0ce5
commit a68b5e903c
4 changed files with 25 additions and 3 deletions

View File

@@ -104,7 +104,7 @@ chore(deps): bump pydantic to 2.11
- PRs over 500 lines are labeled `size/XL` automatically - PRs over 500 lines are labeled `size/XL` automatically
- Title must follow the same conventional commit format - Title must follow the same conventional commit format
- Link related issues where applicable (`#123`, `Fixes #123`, or the issue URL) - Link related issues where applicable (`#123`, `Fixes #123`, or the issue URL)
- First-time contributors must open or pick an existing **open** issue first, then mention it in the PR title or body (for example `#123`). PRs without a linked open issue are closed automatically. - First-time contributors must open or pick an existing **open** issue first, then mention it in the PR title or body (for example `#123`). PRs without a linked open issue are closed automatically and labeled `needs-issue`.
## Testing ## Testing

View File

@@ -4,7 +4,8 @@ Fixes #
<!-- <!--
First-time contributors must mention an existing open issue in this repo First-time contributors must mention an existing open issue in this repo
(for example #123). PRs without a linked open issue are closed automatically. (for example #123). PRs without a linked open issue are closed automatically
and labeled needs-issue.
--> -->
## Summary ## Summary

View File

@@ -6,7 +6,7 @@ on:
permissions: permissions:
pull-requests: write pull-requests: write
issues: read issues: write
concurrency: concurrency:
group: ftc-require-issue-${{ github.event.pull_request.number }} group: ftc-require-issue-${{ github.event.pull_request.number }}
@@ -114,6 +114,19 @@ jobs:
], ],
check=True, check=True,
) )
subprocess.run(
[
"gh",
"pr",
"edit",
pr_number,
"--repo",
repo,
"--add-label",
"needs-issue",
],
check=True,
)
subprocess.run( subprocess.run(
["gh", "pr", "close", pr_number, "--repo", repo], ["gh", "pr", "close", pr_number, "--repo", repo],
check=True, check=True,

View File

@@ -86,6 +86,9 @@ def test_open_issue_mention_blocks_close(body: str) -> None:
) )
assert not any(call[:3] == ["gh", "pr", "close"] for call in calls) assert not any(call[:3] == ["gh", "pr", "close"] for call in calls)
assert not any(
call[:3] == ["gh", "pr", "edit"] and "--add-label" in call for call in calls
)
assert any(call[:2] == ["gh", "api"] and call[2].endswith("/issues/123") for call in calls) assert any(call[:2] == ["gh", "api"] and call[2].endswith("/issues/123") for call in calls)
@@ -98,4 +101,9 @@ def test_foreign_repo_reference_closes_pr() -> None:
) )
assert any(call[:3] == ["gh", "pr", "close"] for call in calls) assert any(call[:3] == ["gh", "pr", "close"] for call in calls)
assert any(
call[:3] == ["gh", "pr", "edit"] and call[call.index("--add-label") + 1] == "needs-issue"
for call in calls
if "--add-label" in call
)
assert not any(call[:2] == ["gh", "api"] for call in calls) assert not any(call[:2] == ["gh", "api"] for call in calls)