Skip to content

refactor: own local workers on every platform - #1313

Merged
kvlonge merged 4 commits into
mainfrom
fix/drop-other-unix-gates
Nov 6, 2026
Merged

kvlonge merged 4 commits into
mainfrom
fix/drop-other-unix-gates

Conversation

@kvlonge

@kvlonge kvlonge commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Why

Local worker ownership, recovery and stop were compiled only on Linux, macOS and Windows. Every other platform had separate code paths that skipped local workers during recovery and left recovered children unowned. Those paths were never built or tested, and they doubled the number of configurations the worker code had to reason about.

Changes

  • Drop the cfg(any(target_os = "linux", target_os = "macos", windows)) gates and their not(...) twins from the CLI worker launcher, child handling, recovery and models.
  • Recovery no longer skips local locations; every platform recovers local workers through process ownership.
  • sqlbuild-process-ownership becomes an unconditional dependency of sqlbuild-cli.
  • No behaviour change on Linux, macOS or Windows.
  • Scheduler monitor test: age the still-live run's heartbeat just before the monitored cycle. It was aged during setup with 5 seconds to spare, and a slow Windows runner crossed the timeout.

Verification

  • make check-ci.
  • make test-native for sqlbuild-cli, sqlbuild-process-ownership and sqlbuild-orchestration.
  • Local-recovery and Docker-worker integration tests.
  • Monitor test: an injected 6-second delay reproduces the Windows failure before the fix, and a 30-second delay passes after it, on SQLite and PostgreSQL.
  • Hosted Verify, including the macOS and Windows scheduler recovery jobs.

@kvlonge
kvlonge enabled auto-merge (squash) November 5, 2026 22:54
The monitor test aged the still-live run's heartbeat to 40 seconds during
setup, leaving 5 seconds against the 45-second timeout. A slow runner
crossed it before the monitored cycle and saw two unresponsive runs.
Aging it to 5 seconds just before the cycle leaves a 40-second margin.
@kvlonge
kvlonge merged commit 6726252 into main Nov 6, 2026
48 checks passed
@kvlonge
kvlonge deleted the fix/drop-other-unix-gates branch November 6, 2026 01:32
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