Skip to content

Image Tests

Test the combined ansible-epic container images (base and web) — local content and access-mode checks by default, with optional full Coder workspace and cloud standalone integration tiers.

Invoke by asking Claude (e.g. "test the latest container images") or with /image-tests. Optional arguments: a version tag (test that build instead of latest), full (add Tier 3), quick (local tiers only), or standalone (add Tier 4).

When to use

After building the images, before promoting a build or cutting latest over to a new version, or any time you need to confirm the images are sound. If you pass neither full nor quick, the skill runs the local tiers and then asks whether to also run the workspace-integration tier (which creates real infrastructure).

What it does — the tiers

Tier Scope Cost
1–2u (default) Local, scripted: image content (venv/SDKs/pins/collections/roles/CLIs, OCI labels + release stamp, size guards), access modes (SSH, web HTTP, tunnel smoke, ssh-agent), and the full user-setup matrix ~15 min, no credentials
3 (full) Coder workspace integration on aws-dev-container and azure-dev-container — venv activation, vault chain, inventory, live Linux/Windows pings ~15–25 min, creates real workspaces
4 (standalone) Cloud standalone harness — the customer path on real EFS / Azure Files SMB via the standalone-test templates ~20–30 min, real infra; only when explicitly asked

The local tiers all live in scripts/test-images.sh — the same script the Build Container Images workflow runs between build and push, so any build that reached GHCR already passed them. The skill runs the script rather than re-deriving checks by hand, then adds a couple of manual extras (a real-token gh round-trip, and the interactive tunnel login as a smoke test).

Safety & cleanup

Every container and workspace the run creates is named imgtest-<thing>-<runid>, and the skill guarantees cleanup — even on failure it removes every imgtest-* container it created and deletes every workspace it created. It never touches a workspace whose name doesn't start with imgtest- or that another user owns.

What you get

A markdown table — one row per check, columns Tier | Check | Result | Notes — plus the image tag and digest tested, an overall verdict, and any tier that was skipped (with the reason).

Reference

The human-readable test matrix and per-check meanings: Container Testing. How the images are built and promoted: Containers.