v1.1.0 — self-hosted-runner fixes + dashboard debug-box reporting
Six fixes for failures observed against self-hosted runners during the 2026-05-24/25 cloud-CI dogfood (see STATUS.md and #14 for the full chain), plus one additive feature.
Fixes
- CLI version subcommand (#8) —
containarium --versionwas unsupported; the action now uses theversionsubcommand. FixesError: unknown flag: --version. - gh→curl fallback for PR comments (#9) — self-hosted runners often lack the
ghCLI; the failure-debug PR comment now falls back to a curl POST. Fixesgh: command not found. - PyYAML parser instead of yq (#10) —
yqisn't preinstalled on self-hosted runners; switched topython3+ PyYAML. Includes edge-case handling (missingimage, scalarsetup/test, missingserveblock). - Per-run SSH keypair (#11) —
containarium createrequires--ssh-key. The action now mints a fresh ed25519 keypair under\$RUNNER_TEMPper run; subsequent ssh/scp/rsync use the privkey directly. - Box-name truncation (#12) — jump-server validator caps usernames at 32 chars. Switched box-name template from
ci-<repo>-<run-id>-<attempt>toci-<run-id>-<attempt>(GITHUB_RUN_ID is globally unique).
Features
- Debug-box info to cloud dashboard (#16) — new optional input `org-id`. When set, the runner POSTs debug-box endpoint info (SSH host/port/user, MCP URL, keep-alive deadline) to the cloud's `ReportCIJobRuntime` endpoint after a test failure, so the `/ci/runs/` FailureDebugSurface panel renders real connection info instead of the "Coming soon" stub. Backward-compatible: default empty → no behavior change.
Internal
- Self-test workflow to catch `action.yml` load failures before consumers do (#6, #7).
- STATUS.md records the 2026-05-24/25 cloud-CI silence chain (#14).
Upgrading
The floating `v1` tag has been moved to v1.1.0. Repos pinning to `@v1.0.1` should bump to `@v1.1.0` (or `@v1` if they accept moving aliases) to pick up these fixes.