mit einem Klick
pr-definition-of-done
// Use when preparing a pull request for review, before pushing, or when reviewing someone else's PR. Checklist of CI checks, commit conventions, code generation, testing, and documentation requirements.
// Use when preparing a pull request for review, before pushing, or when reviewing someone else's PR. Checklist of CI checks, commit conventions, code generation, testing, and documentation requirements.
| name | pr-definition-of-done |
| description | Use when preparing a pull request for review, before pushing, or when reviewing someone else's PR. Checklist of CI checks, commit conventions, code generation, testing, and documentation requirements. |
Every PR must pass CI checks, follow commit conventions, include tests, and keep generated code in sync. This checklist covers what CI enforces and what reviewers expect.
type(JIRA-ID): description (e.g., feat(STONEINTG-1519): create PR group snapshots)feat, fix, chore, refactor, test, docsgit commit -sAssisted-by: <tool-name> trailerapi/v1beta2/: make generate manifestsgo mod tidy && go mod vendormake fmt — CI fails on uncommitted formatting changesmake vet — catches common Go mistakesmake test passes locallyconfig/ (CI checks this)+kubebuilder:rbac markersdocs/ updated if controller logic changed| Check | Workflow | What fails it |
|---|---|---|
| Go tests | pr.yaml | make test failures |
| Formatting | pr.yaml | Uncommitted make fmt changes |
| Code generation | pr.yaml | Uncommitted make generate manifests output |
go mod tidy | pr.yaml | Uncommitted tidy changes |
| RBAC wildcards | pr.yaml | Wildcard * in config RBAC files |
| Dockerfile lint | pr.yaml | hadolint violations |
| Go linters | pr.yaml | gosec, golangci-lint, staticcheck failures |
| CodeQL | codeql.yml | Security vulnerabilities |
| PR size | size.yaml | Oversized PRs (informational) |
| Coverage | codecov.yml | >3% coverage drop from base |
| Tekton build | .tekton/ | Image build failure, security scans |
| Mistake | Fix |
|---|---|
Forgot go mod vendor | Run go mod tidy && go mod vendor after any dep change |
| Stale deepcopy | Run make generate after editing types in api/v1beta2/ |
| Stale RBAC/CRD manifests | Run make manifests after changing +kubebuilder markers |
| Unsigned commit | Use git commit -s or amend with git commit --amend -s |
| Coverage dropped | Add tests for new code paths — check cover.out for uncovered lines |
Use when CI checks fail unexpectedly, when preparing code for CI, or when encountering non-obvious build and pipeline behavior. Covers vendoring, hermetic builds, security scans, code generation checks, coverage, and webhook validation gotchas.
Use when debugging integration-service running on a cluster. Covers pod logs, health probes, metrics, webhooks, network policies, environment variables, snapshot GC, and common failure modes.
Use when setting up a local development environment, deploying integration-service to a cluster, installing CRDs, or tearing down a Kind cluster. Covers make targets, kustomize deployment, and full Konflux stack setup.
Use when building, configuring, or running e2e tests for integration-service against a real cluster (Kind or OpenShift). Covers environment variables, test framework, Ginkgo flags, CI pipeline, and test repos.
Use when running, writing, or troubleshooting unit tests for integration-service. Covers make test, envtest setup, suite patterns, mock loader, CRD discovery, coverage, and common test failures.