This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 59304532964 Skip collaborator PRs in auto-triage overview table
(#63320)
59304532964 is described below
commit 593045329649b48bd7e47e9532317e647a395f92
Author: Jarek Potiuk <[email protected]>
AuthorDate: Wed Mar 11 09:48:36 2026 +0100
Skip collaborator PRs in auto-triage overview table (#63320)
Collaborator/member/owner PRs are filtered out during triage anyway,
so showing them in the initial table adds noise. Instead, display
only non-collaborator PRs and add a summary line noting how many
collaborator PRs were omitted.
Co-authored-by: Claude Opus 4.6 <[email protected]>
---
.../src/airflow_breeze/commands/pr_commands.py | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/dev/breeze/src/airflow_breeze/commands/pr_commands.py
b/dev/breeze/src/airflow_breeze/commands/pr_commands.py
index e41c38ab10c..0755ec8494b 100644
--- a/dev/breeze/src/airflow_breeze/commands/pr_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/pr_commands.py
@@ -1478,17 +1478,18 @@ def auto_triage(
for pr in all_prs:
pr.commits_behind = behind_map.get(pr.number, 0)
- # Display fetched PRs overview (CI status is rollup state only — details
fetched later)
- pr_table = Table(title=f"Fetched PRs ({len(all_prs)})")
+ # Display fetched PRs overview (skip collaborator PRs — they'll be
summarised below)
+ non_collab_prs = [pr for pr in all_prs if pr.author_association not in
_COLLABORATOR_ASSOCIATIONS]
+ collab_count = len(all_prs) - len(non_collab_prs)
+ pr_table = Table(title=f"Fetched PRs ({len(non_collab_prs)}
non-collaborator)")
pr_table.add_column("PR", style="cyan", no_wrap=True)
pr_table.add_column("Title", max_width=50)
pr_table.add_column("Author")
- pr_table.add_column("Association", style="dim")
pr_table.add_column("Status")
pr_table.add_column("Behind", justify="right")
pr_table.add_column("Conflicts")
pr_table.add_column("CI Status")
- for pr in all_prs:
+ for pr in non_collab_prs:
if pr.checks_state == "FAILURE":
ci_status = "[red]Failing[/]"
elif pr.checks_state == "PENDING":
@@ -1508,26 +1509,23 @@ def auto_triage(
else:
conflicts_text = "[green]No[/]"
- # Overall status: flag if any issue detected
has_issues = pr.checks_state == "FAILURE" or pr.mergeable ==
"CONFLICTING"
- if pr.author_association in _COLLABORATOR_ASSOCIATIONS:
- overall = "[dim]Collaborator[/]"
- elif has_issues:
- overall = "[red]Flag[/]"
- else:
- overall = "[green]OK[/]"
+ overall = "[red]Flag[/]" if has_issues else "[green]OK[/]"
pr_table.add_row(
_pr_link(pr),
pr.title[:50],
pr.author_login,
- pr.author_association.lower(),
overall,
behind_text,
conflicts_text,
ci_status,
)
get_console().print(pr_table)
+ if collab_count:
+ get_console().print(
+ f" [dim]({collab_count} collaborator/member {'PRs' if
collab_count != 1 else 'PR'} not shown)[/]"
+ )
get_console().print()
# Phase 2: Filter out collaborators, bots, and ready-for-review PRs, then
apply post-fetch filters