Skip to content

feat(interrupt): surface open release version-bump PRs - #82

Merged
sfc-gh-bnisco merged 1 commit into
mainfrom
interrupt-release-prs
Aug 4, 2026
Merged

feat(interrupt): surface open release version-bump PRs#82
sfc-gh-bnisco merged 1 commit into
mainfrom
interrupt-release-prs

Conversation

@sfc-gh-bnisco

Copy link
Copy Markdown
Collaborator

The automated [chore] Release vX.Y.Z PRs from github-actions[bot] appeared nowhere on the Interrupt dashboard: the Dependabot bucket only matches dependabot[bot], and every community-PR view drops bot authors via is_community_author. Those PRs need a human approval to become mergeable and have no assignee, so they can sit unnoticed for days.

Changes

  • app/utils/interrupt_data.py — new open_release_prs bucket in _build_interrupt_action_items, filtering the open-PR snapshot the page already fetches on author == "github-actions[bot]" and a [chore] Release title prefix. Costs no extra API calls. Adds a RELEASE_PR_TITLE_PREFIX constant and a get_open_release_prs() wrapper, matching the one-getter-per-bucket pattern in the file.
  • app/interrupt_rotation.py — "Open release PRs" table in the Action required list, directly above the Dependabot table since both are bot PRs from the same snapshot.
  • tests/test_interrupt_data.py — fixtures covering the match plus both near-misses.

The filter mirrors the GitHub search is:pr "[chore] Release" author:app/github-actions is:open so the dashboard and that saved search always agree.

Notes on two deliberate choices

No staleness or SLA chip. Recent release PRs stayed open v1.60.0 23h, v1.58.0 5d, v1.57.0 3d, v1.56.0 1.3d, v1.55.0 1d, v1.54.0 6d. Any threshold under a week would read red on a healthy release and train people to ignore the section. Created with format="distance" carries the age without asserting a judgment.

The tooltip makes no claim about merge timing. It documents what the PR is (back-merge of the release branch into develop, version identifiers only) and that the Interrupt owns getting it reviewed and merged. If the actual rule is "merge as soon as CI is green" or "only after the release ships," that is a one-line edit — I did not want to document the release process wrongly in a tooltip people read as procedure.

Snapshot-update PRs ([snapshots] Update E2E snapshots for #NNNNN, same bot) are intentionally out of scope. There is one currently open since Jul 22; adding it later is a second if in the same loop.

Testing

  • uv run pytest tests/test_interrupt_data.py — 3 passed
  • make check — ruff, ruff format, ty, mypy all clean
  • Ran the bucket logic against the live 212 open PRs in streamlit/streamlit: one row, #16329 [chore] Release v1.61.0, identical to what the GitHub search returns
  • Did not launch the app for a visual check; the render block mirrors the adjacent Dependabot table

🤖 Generated with Claude Code

The automated `[chore] Release vX.Y.Z` PRs from github-actions[bot] appeared
nowhere on the Interrupt dashboard: the Dependabot bucket only matches
dependabot[bot], and every community-PR view drops bot authors. Those PRs need
a human approval to become mergeable and have no assignee, so they can sit
unnoticed for days.

Add an "Open release PRs" table to the Action required list, directly above the
Dependabot table since both are bot PRs from the same snapshot. The filter
mirrors the GitHub search `is:pr "[chore] Release" author:app/github-actions
is:open`, so the dashboard and the saved search always agree. It reads the open
PR snapshot that the page already fetches, so this costs no extra API calls.

Columns match the Dependabot table (Title, URL, Created as a distance). No
staleness or SLA chip: release PRs legitimately stay open 1-6 days across
recent releases, so any threshold would read red on a healthy release and train
people to ignore the section.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@sfc-gh-bnisco
sfc-gh-bnisco marked this pull request as ready for review August 4, 2026 21:12
@sfc-gh-bnisco
sfc-gh-bnisco merged commit 2b48028 into main Aug 4, 2026
1 check passed
@sfc-gh-bnisco
sfc-gh-bnisco deleted the interrupt-release-prs branch August 4, 2026 21:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant