Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ chore(deps): bump pydantic to 2.11
- PRs over 500 lines are labeled `size/XL` automatically
- Title must follow the same conventional commit format
- 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

Expand Down
3 changes: 2 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ Fixes #

<!--
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
Expand Down
15 changes: 14 additions & 1 deletion .github/workflows/ftc-require-issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

permissions:
pull-requests: write
issues: read
issues: write

concurrency:
group: ftc-require-issue-${{ github.event.pull_request.number }}
Expand Down Expand Up @@ -114,6 +114,19 @@ jobs:
],
check=True,
)
subprocess.run(
[
"gh",
"pr",
"edit",
pr_number,
"--repo",
repo,
"--add-label",
"needs-issue",
],
check=True,
)
subprocess.run(
["gh", "pr", "close", pr_number, "--repo", repo],
check=True,
Expand Down
8 changes: 8 additions & 0 deletions lib/crewai/tests/ci/test_ftc_require_issue.py
Original file line number Diff line number Diff line change
Expand Up @@ -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", "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)


Expand All @@ -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", "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)
Loading