en un clic
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.
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.
| 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 |