Goal
Harden and modernize our CI. This is a tracking issue split into small, independent tasks — each checkbox is one focused PR, good for first-time contributors.
To claim one: comment below, open a PR, and link it here. Use Conventional Commits + git commit -s (DCO).
Tasks
PR hygiene
Speed & robustness
Quality
Security
Housekeeping
Current CI
ci.yml — format check, build, unit + integration tests, go vet. No dependency caching.
pr-freshness.yml — on push to main, labels/comments open PRs that are superseded or conflicting.
Maintainer-only (not contributor tasks)
- Enable branch protection "Require branches up to date before merging" (or a merge queue) — the primary "stay current" mechanism;
pr-freshness only complements it.
- Set Actions → Workflow permissions → "Read and write" so
pr-freshness can comment/label.
Got another CI idea? Comment and we'll add it.
Goal
Harden and modernize our CI. This is a tracking issue split into small, independent tasks — each checkbox is one focused PR, good for first-time contributors.
To claim one: comment below, open a PR, and link it here. Use Conventional Commits +
git commit -s(DCO).Tasks
PR hygiene
amannn/action-semantic-pull-request) — good first issueSpeed & robustness
setup-gocache: trueto cut CI time — good first issuego test -raceto catch data races — good first issuegolangci-lintto replace the barego vetstep — intermediateQuality
-coverprofile→ Codecov), and add tests where missing — e.g.internal/app/kit/suggest— intermediateSecurity
github-actionsecosystem — good first issueHousekeeping
actions/staleto nudge/close abandoned PRs & issues — good first issueCurrent CI
ci.yml— format check, build, unit + integration tests,go vet. No dependency caching.pr-freshness.yml— on push tomain, labels/comments open PRs that are superseded or conflicting.Maintainer-only (not contributor tasks)
pr-freshnessonly complements it.pr-freshnesscan comment/label.Got another CI idea? Comment and we'll add it.