Skip to content

Preserve draft releases when GitHub returns a stale release list - #10

Merged
samuel-williams-shopify merged 1 commit into
mainfrom
fix-draft-release-lookup
Sep 21, 2026
Merged

samuel-williams-shopify merged 1 commit into
mainfrom
fix-draft-release-lookup

Conversation

@samuel-williams-shopify

Copy link
Copy Markdown
Contributor

The v0.0.4 publisher created its draft successfully, then failed with Draft release was not retained. because GitHub's release list did not yet contain it. Publication now uses the creation response immediately. Subsequent lookups fetch release details by ID, falling back to GitHub's pending-tag lookup when a draft is missing from the list, so retries reuse the existing draft and its files. API errors still stop publication.

Regression tests cover stale lists during creation and recovery, and failed direct lookups. Add the standard Covered::Sus integration for reproducible coverage checks.

Validation:

  • COVERAGE=PartialSummary bundle exec sus-parallel: 44 tests, 126 assertions; every changed publisher line covered.
  • RuboCop: 24 files, no offenses. Documentation coverage: 21/21 public definitions.
  • Hosted integration test reproduced the stale list, then exercised the actual fixed publisher: four files retained, the same draft reused on immediate retry, and identical bytes restored. Temporary drafts were removed.

The original v0.0.4 files have been verified and restored to its existing draft. The original publishing run can resume without rebuilding or preparing another version.

@samuel-williams-shopify
samuel-williams-shopify merged commit f1c7280 into main Sep 21, 2026
11 checks passed
@samuel-williams-shopify
samuel-williams-shopify deleted the fix-draft-release-lookup branch September 21, 2026 10:37
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