Skip to content

Bound GitHub drain operations#163

Merged
jmcte merged 3 commits into
mainfrom
codex/bounded-github-drain
Jul 11, 2026
Merged

Bound GitHub drain operations#163
jmcte merged 3 commits into
mainfrom
codex/bounded-github-drain

Conversation

@jmcte

@jmcte jmcte commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add abortable, retry-aware GitHub requests with one overall drain deadline
  • retry transient GET/DELETE responses while respecting Retry-After, without blindly retrying token POSTs
  • bound shell curl and embedded GitHub App token requests
  • track runner registration IDs, delete same-name replacements, and require consecutive absence observations
  • expose a quiesce callback contract for the lifecycle integration packet

Validation

  • pnpm exec vitest run test/github.test.ts test/drain.test.ts test/cli.test.ts (93 tests passed)
  • CI=true bash scripts/ci/run-fast-checks.sh (48 files, 268 tests; lint and build passed)
  • bash -n scripts/lib/github-runner-common.sh
  • git diff --check

Synology / GitHub Impact

  • no deploy impact
  • compose/config change
  • image rebuild or republish required
  • GitHub settings or runner-group change required

This is a mergeable prerequisite for #152 and #155, not their final closure. The follow-up integration must wire plane-specific service/worker quiescence into the new callback and bound remaining CLI, SSH, SCP, repository, workflow, and container-package operations before those issues close.

Refs #152
Refs #155

Add abortable retry-aware GitHub requests, bound shell token operations, track registration identities, and require stable absence observations before reporting a drained pool. Update unit and CLI fixtures for re-registration and deadline semantics.

Refs #152. Refs #155.
@jmcte jmcte requested a review from a team as a code owner July 10, 2026 19:21
@jmcte jmcte enabled auto-merge (squash) July 10, 2026 19:23

@athena-omt athena-omt left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Governance review: I refreshed the branch first because it was behind; live head 11dcf63 has now completed fresh CI successfully, and auto-merge is already enabled.

I reviewed the bounded GitHub request wrapper, drain deadline/retry behavior, stable absence handling after runner deletion, shell curl/API timeouts, and updated tests. I did not find a blocker.

@jmcte jmcte merged commit a469e8c into main Jul 11, 2026
16 checks passed
@jmcte jmcte deleted the codex/bounded-github-drain branch July 11, 2026 08:20
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