Repository navigation
self-host 1.2.1
This patch hardens the integration testkit and publishes its TypeScript SDK as @ajnart/self-host-testkit.
- Fix owned fixture cleanup, including anonymous container volumes and private storage. Preserve recovery ownership on filesystem failure or cancellation; use directory-only/no-follow operations and reject named volumes rather than leave them behind.
- Preserve safe startup reasons and timeout classification. Node callers get typed, allowlisted errors without raw provider output or credentials.
- Build the SDK and declarations from one strict TypeScript source. Add a root testkit README, runnable Sonarr demo and an explicit checksum-verifying helper setup command.
- Provision Go 1.27.3 privately for the GitHub Action, without requiring or changing the caller's Go toolchain. Require checksum coverage for every expected release artifact.
TypeScript quickstart
Requires Node.js 22+, a running local Docker Engine and Docker Compose v2 on Linux or macOS.
npm install --save-dev @ajnart/self-host-testkit@1.2.1
npm exec -- self-host-testkit-setupimport { createSelfHost } from "@ajnart/self-host-testkit";See the testkit README for the API, a small demo, cleanup and CI usage. The npm tarball matches the checksummed self-host-testkit-1.2.1.tgz attached here. Version 1.2.0 used the unpublished name @self-host/testkit; update imports when upgrading.
Normal PR CI, focused Go race tests, SDK transport tests, strict consumer typechecking and offline checksum checks cover this patch. Live Docker App acceptance and Backup/Restore caching remain deferred, not passed.
Reviewed in #132. Existing v1.2.0 release assets remain unchanged.