Skip to content

Adopt async subprocess orchestration - #15

Merged
flaticols merged 6 commits into
mainfrom
improve/async-runtime
Jul 13, 2026
Merged

Adopt async subprocess orchestration#15
flaticols merged 6 commits into
mainfrom
improve/async-runtime

Conversation

@flaticols

Copy link
Copy Markdown
Owner

Summary

  • adopt swift-subprocess 0.5 and move container orchestration from blocking Process.waitUntilExit() calls to cancellable async subprocesses
  • replace blocking health-check sleeps with Task.sleep, run independent health checks concurrently, and avoid polling a dependency again after it passes a gate
  • remove process-global CONTAINER_CLI mutation from tests by allowing explicit executable injection
  • stream updater package downloads to temporary files and run pkgutil/installer through the async runner
  • bump ComposeKit from 0.0.3 to 0.0.4

Compatibility

  • source builds now require Swift 6.2 or newer
  • public ContainerComposeKit process/orchestration methods are now async
  • CLI command behavior and syntax remain unchanged

Validation

  • swift build -Xswiftc -warn-concurrency -Xswiftc -strict-concurrency=complete
  • swift test --parallel — 39 tests pass
  • swift build -c release
  • release binary --help smoke test
  • quickstart up --dry-run smoke test

@flaticols
flaticols merged commit 80c5781 into main Jul 13, 2026
1 check passed
@flaticols
flaticols deleted the improve/async-runtime branch July 13, 2026 18:17
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