Skip to content

fix(release): Wait for a just-published Release to be listed - #190

Merged
mpaulosky merged 1 commit into
mainfrom
fix/144-wait-for-release-listing
Sep 30, 2026
Merged

mpaulosky merged 1 commit into
mainfrom
fix/144-wait-for-release-listing

Conversation

@mpaulosky

Copy link
Copy Markdown
Owner

Summary

PR #188 was released as v0.0.20, but its run opened no blog PR. The docs job started 8 seconds after the Release was published, GitHub's release list didn't include it yet, and the job logged "Every Release already has its post on main; no blog PR needed" and succeeded. Re-running the docs job later opened #189, which confirms the cause.

  • backfill_blog_posts.py --wait-for-prs: lists Releases again, every 5 seconds for up to a minute, until each named PR has one. A Release that never appears (its release failed) is logged as a warning, the posts that can be written are, and the next run picks up the rest, as before.
  • One listing: the posts and the README and blog tables use the same listing, so a table can't miss a Release the posts saw, or the reverse.
  • release.yml: the docs job passes the plan's queue (the PRs this run released) as --wait-for-prs. Manual runs of backfill-blog-posts.yml don't wait, as before.

Testing

  • New tests: a Release listed only on the third call (two waits, then all posts and the table row), the tables reusing the same listing, a Release that never appears (warning after the last attempt, the other posts still written), no waiting without --wait-for-prs, and the CLI passing the flag. Six of them, counting the updated inputs test, fail against the old script.
  • All script tests: 186 passed, 1 skipped.
  • yamllint, actionlint and zizmor are clean, and the pre-push gate passed.

Refs #144

🤖 Generated with Claude Code

The docs job listed Releases eight seconds after v0.0.20 was published,
GitHub's list didn't include it yet, and the run opened no blog PR for
PR #188. The job now passes the PRs it released, and the backfill lists
again, every 5s for up to a minute, until each has a Release. A release
that never appears is logged as a warning; the next run writes its post.
The posts and the tables use the same listing.

Refs #144

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings September 30, 2026 11:54

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The bounded retry behavior is correctly integrated and adequately tested without introducing unresolved issues.

Review effort: Balanced
Findings: None

What changed in this PR

Adds bounded polling so release documentation includes newly published GitHub Releases despite API listing delays.

Changes:

  • Polls the Releases API for queued PRs for up to one minute.
  • Reuses one release listing for posts and release tables.
  • Adds coverage for polling, timeout, listing reuse, and CLI forwarding.
File Description
.github/​workflows/​release.yml Passes queued PRs to the backfill script.
.github/​scripts/​backfill_blog_posts.py Implements polling and consistent release snapshots.
.github/​scripts/​tests/​test_backfill_blog_posts.py Tests the new waiting behavior and CLI option.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results Summary

483 tests  ±0   483 ✅ ±0   19s ⏱️ +3s
  9 suites ±0     0 💤 ±0 
  9 files   ±0     0 ❌ ±0 

Results for commit 2b44032. ± Comparison against base commit 66c76cb.

@mpaulosky
mpaulosky merged commit ab8a2db into main Sep 30, 2026
28 checks passed
@mpaulosky
mpaulosky deleted the fix/144-wait-for-release-listing branch September 30, 2026 11:58
mpaulosky added a commit that referenced this pull request Sep 30, 2026
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@codecov

codecov Bot commented Sep 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.40%. Comparing base (66c76cb) to head (2b44032).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #190   +/-   ##
=======================================
  Coverage   85.40%   85.40%           
=======================================
  Files          77       77           
  Lines        1596     1596           
  Branches      150      150           
=======================================
  Hits         1363     1363           
  Misses        189      189           
  Partials       44       44           

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.

2 participants