Files
applecontainercompose/Validation/VALIDATION.md
T
2026-11-08 17:28:29 +00:00

2.7 KiB

AppleContainerCompose validation — 8 November 2026

Source: AppleContainerCompose-Updated-Xcode (1).zip, inspected and corrected for this delivery.

Build results

Environment: Apple silicon arm64, macOS 27.2 (26B123), Xcode 27.2 (27B52). Dependency: Yams 5.4.0, revision 3d6871d5b4a5cd519adf233fbb576e0a2af71c17.

Target Debug Release
accompose PASS PASS
AppleContainerCompose PASS PASS

All four builds used xcodebuild with CODE_SIGNING_ALLOWED=NO. DerivedData and package working copies were stored under a task-specific /private/tmp directory. Complete successful build logs are included here. The app build emits the standard “Metadata extraction skipped, no AppIntents.framework dependency found” warning; no Swift compilation errors or warnings occurred.

Automated CLI regressions

27 cases passed for each of the Debug and Release CLI binaries (54 executions total). Tests cover both detach aliases; verbosity levels before and after the subcommand; detached return without following logs or stopping containers; simultaneous live logs from two services; parent-only and terminal-process-group Ctrl+C; graceful stop in reverse dependency order; interrupt during startup; log follower failure; and rejection of an unknown up option. The repeatable suite is Tests/cli_regression.py.

Real runtime integration

Apple container CLI/server 1.7.1, using the existing docker.io/library/nginx:alpine image and a uniquely named test project without host mounts or published ports:

  • up -d returned; inspected container state was running.
  • -vvv up --detach returned; inspected container state was running.
  • up -vv streamed ACCOMPOSE_LIVE while the CLI remained active.
  • SIGINT to the foreground process group returned success; inspected state was stopped.
  • up -d restarted that existing stopped container; inspected state was running.
  • The test project's container was removed using down afterward. Pre-existing containers were not modified.

Runtime transcript: runtime-validation.log.

Scope and limits

The ZIP contains the editable Xcode source project, example, installer, regression suite and validation evidence. Open AppleContainerCompose.xcodeproj and choose the app or accompose scheme. Build again locally; Yams package resolution may require internet access. Builds were unsigned and the GUI was compiled, not interactively exercised. This remains a subset of Compose, with the limitations listed in README.md. The regression suite uses a fake runtime; the separate runtime integration above exercises the actual lifecycle. Shutdown delegates grace period and escalation policy to container stop. Startup subprocesses finish before cancellation cleanup runs.