Skip to content

fix: replace wait-for-builds with wait-for-published and fix copy errors#126

Merged
rtibbles merged 1 commit into
mainfrom
fix/wait-for-published-and-copy-errors
Apr 2, 2026
Merged

fix: replace wait-for-builds with wait-for-published and fix copy errors#126
rtibbles merged 1 commit into
mainfrom
fix/wait-for-published-and-copy-errors

Conversation

@rtibbles

@rtibbles rtibbles commented Apr 2, 2026

Copy link
Copy Markdown
Member

Summary

Replace wait-for-builds with wait-for-published — checks getPublishedBinaries status instead of build states, because "Successfully built" does not mean "published and available for copy". This was the root cause of the "source has no binaries to be copied" error.

Also adds per-series error handling so one failing series doesn't crash the entire copy run, making the pipeline idempotent and re-runnable.

References

Reviewer guidance

Key changes:

  • wait_for_published() replaces wait_for_builds() — polls getPublishedBinaries instead of build states
  • Auto-discovery mode (no --series): finds all series with published sources, waits for all to have published binaries
  • perform_queued_copies(): catches BadRequest per-series, logs errors, continues to next series
  • has_published_binaries: fixed inverted not builds logic
  • Workflow: wait_for_source_published (source series only) → copy_to_other_distributionswait_for_copies_published (all series auto-discovered)
  • All commands tested live against Launchpad (copy-to-series succeeded for 7 series, wait-for-published confirmed all 7 published)

AI usage

Claude Code implemented the changes, with all Launchpad API interactions tested live against the kolibri-proposed PPA. 42 unit tests pass.

@rtibbles rtibbles force-pushed the fix/wait-for-published-and-copy-errors branch from caa1e1f to fe435ac Compare April 2, 2026 02:49
- Replace wait-for-builds with wait-for-published: checks getPublishedBinaries
  status instead of build states, since "Successfully built" != "published"
- Auto-discovery mode: without --series, discovers all series with published
  sources and waits until every one also has published binaries
- Per-series error handling in syncSources copies: one series failing no longer
  crashes the entire run; failures are collected and reported at end
- Fix has_published_binaries: 'not builds' returned True when no builds existed
- Add --series flag to copy-to-series for local testing on non-Ubuntu systems
- Update workflow: wait_for_source_published and wait_for_copies_published

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@rtibbles rtibbles force-pushed the fix/wait-for-published-and-copy-errors branch from fe435ac to 4088dab Compare April 2, 2026 02:52
@rtibbles rtibbles merged commit 258318d into main Apr 2, 2026
14 checks passed
@rtibbles rtibbles deleted the fix/wait-for-published-and-copy-errors branch April 2, 2026 03:02
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