Split off from #10. Real-backend integration tests gated by the integration build tag, like the kubernetes reference shipped in #10's PR.
What ships
go/internal/backends/systemd-timer/integration_test.go with //go:build integration and tests covering Create → List → Update → Delete and at least one drift/divergence scenario.
- A new job in
.github/workflows/integration.yml that brings up systemd in a Fedora container and runs go test -tags integration -run Integration ./internal/backends/systemd-timer/....
- Documentation pointer at the top of the test file explaining how to run locally.
Reference
See go/internal/backends/kubernetes/integration_test.go and the matching kubernetes job in .github/workflows/integration.yml shipped in #10. Same shape for every backend: per-test namespace/scope for isolation, t.Cleanup tears down, three scenarios minimum (CRUD, drift/divergence, unmanaged-entries-untouched).
Acceptance criteria
Split off from #10. Real-backend integration tests gated by the
integrationbuild tag, like the kubernetes reference shipped in #10's PR.What ships
go/internal/backends/systemd-timer/integration_test.gowith//go:build integrationand tests covering Create → List → Update → Delete and at least one drift/divergence scenario..github/workflows/integration.ymlthat brings up systemd in a Fedora container and runsgo test -tags integration -run Integration ./internal/backends/systemd-timer/....Reference
See
go/internal/backends/kubernetes/integration_test.goand the matchingkubernetesjob in.github/workflows/integration.ymlshipped in #10. Same shape for every backend: per-test namespace/scope for isolation, t.Cleanup tears down, three scenarios minimum (CRUD, drift/divergence, unmanaged-entries-untouched).Acceptance criteria
go test ./...(verify by running without the build tag)