CI and releases see history edit this page

Talks about: , , and

Continuous integration

Every pull request runs verify.yml, which fans out into one job per concern so a failure points straight at the cause:

A single all-green job depends on every other job and is the only required check, so new jobs are covered automatically. A separate kind-smoke.yml runs the operator end to end against a real kind cluster, and fuzz.yml exercises the fuzz targets.

Releases

Releases are calendar-based and fully automated — there is no semver tag to bump by hand. release.yml runs on a Monday cron (and on manual dispatch), and the version is the run date (date +'%Y.%-m.%-d', e.g. 2026.6.15). A prepare job counts commits since the last release; an empty week publishes nothing.

The pipeline is hand-rolled — no goreleaser, no GPG:

The Helm chart lives in the metio/helm-charts repository and vendors this repo’s CRDs at each release; its appVersion tracks the binary’s releases.