Verification Checklists¶
Since GTB is used by many other projects, verification must be extremely thorough.
Pre-Submission Checklist¶
0. Specification Check¶
- A Feature Specification exists for non-trivial features.
- The spec status is
APPROVEDorIN PROGRESS. - The spec status has been updated to reflect the current state of the implementation.
1. Library Correctness¶
-
task testpasses with 100% success. -
go test -race ./...passes without identifying concurrency issues. -
mockeryhas been run to ensure all mocks are up to date. - Coverage for new features in
pkg/is at least 90%. -
golangci-lint run --fixpasses with no warnings.
2. Generator Verification¶
If you modified internal/generator:
- [ ] Run task build to create a fresh generator binary.
- [ ] Test the generator against a dummy project to ensure it correctly scaffolds commands and manifests.
- [ ] Verify that regenerate project correctly handles existing files without data loss.
3. Documentation¶
- New components or public functions are documented in
docs/. - All code examples in documentation are functional.
Automated Verification¶
We rely heavily on CI for final verification, including:
- Matrix Testing: Running tests against multiple Go versions.
- Race Detection: Running go test -race ./... to catch concurrency issues.
- Linting Suite: Enforcing project-wide code style.