Skip to content

ci: integration tests for systemd-timer backend #46

@awbx

Description

@awbx

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

  • Tests cover the three scenarios from the kubernetes reference
  • Tests run cleanly on a fresh GitHub-hosted runner
  • Job adds <2 minutes of CI wall-clock to a typical PR
  • Per-test isolation: rerunning the same test multiple times against the same backend instance succeeds
  • The integration test file is excluded from default go test ./... (verify by running without the build tag)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/backend-systemdsystemd-timer backendarea/ciGitHub Actions, release pipeline, supply chainkind/v1-readinessGap on the path to v1.0.0triageAwaiting maintainer review

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions