Skip to content

docs: add testing strategy + e2e coverage boundary (ADR-13 E5)#17

Merged
wrkode merged 1 commit into
mainfrom
docs/testing
Jun 9, 2026
Merged

docs: add testing strategy + e2e coverage boundary (ADR-13 E5)#17
wrkode merged 1 commit into
mainfrom
docs/testing

Conversation

@wrkode

@wrkode wrkode commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

What

Document the testing strategy and, just as important, the explicit boundary of what CI does not cover (ADR-13 slice E5).

docs/testing.md (new) covers:

  • The test layers: unit/behavior (make test), the real-kubeadm e2e suite (make e2e), and the manual VM smokes -- with a table of what each proves.
  • The e2e mechanism: a kind-style privileged systemd node container FROM-derived from the shipped image, driving the real reconcile/reset/mint-join against the real on-disk contract (no parallel code path).
  • All six Tier-1 scenarios (init, worker join, externally-managed-CP join, reset, init-clobber refusal, upgrade-skew refusal).
  • How to run locally (Docker + privileged, no KVM), the per-PR CI matrix, and the privileged-job security posture (hosted-only, pull_request not pull_request_target, read-only token, no secrets).
  • The coverage boundary: full Kairos image boot, A/B reboot upgrade, HA failover, kube-vip, and TPM2/kcrypt stay manual libvirt smokes. The nightly tier is marked planned / not-yet-wired.

Also links it from docs/README.md and reflects the e2e suite in the root README.md.

Scope

Docs only -- no code, no workflow changes.

🤖 Generated with Claude Code

Add docs/testing.md documenting the test layers (unit/behavior, the
real-kubeadm e2e suite, and the manual VM smokes), how to run each locally,
the per-PR e2e CI matrix and its security posture, and -- explicitly -- the
coverage boundary: full Kairos image boot, A/B reboot upgrade, HA failover,
kube-vip, and TPM2/kcrypt stay manual libvirt smokes because GitHub-hosted
runners cannot host them. The planned nightly tier is marked not-yet-wired.

Link it from docs/README.md and reflect the e2e suite in the root README
(CI bullet + status table).

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: William Rizzo <william.rizzo@gmail.com>
@wrkode
wrkode merged commit 402ad20 into main Jun 9, 2026
9 checks passed
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