This guide covers everything from prerequisites to development workflows and quality assurance processes.
Dependency | Minimum Version |
---|---|
Go |
1.23+ |
Podman |
4.9.3+ |
Git |
2.43+ |
Make (GNU) |
4.3+ |
Ubuntu |
24.04 |
Tool | Description | Installation |
---|---|---|
Umbrella project for various Go linters |
|
|
Mock code generator for Go |
|
|
Build and release artifacts for Go |
|
|
CLI tool for generating SBOM |
|
|
Formatter tool |
|
|
Signing artifacts and images |
|
|
Static linting tool |
|
|
Vulnerability tool |
|
|
Security health for open-source projects |
|
We use Make to automate various development tasks. To see all available targets:
make help
ℹ️
|
|
Before submitting a Pull Request, it’s crucial to run the quality checks locally:
make quality
💡
|
If a check fails, you can run individual checks (e.g., make quality/lint ) to pinpoint and address specific issues.
|
-
MegaLinter: A comprehensive suite of linting tools
-
Covers BASH, Markdown, YAML, GitHub Actions, and security scans
-
-
golangci-lint: Go-specific linters
-
Configuration: .golangci.yml
-
-
REUSE: Ensures proper licensing and copyright notices
-
Conform: Checks commit message format
If any checks fail, follow these steps:
-
Run individual checks to isolate the issue (e.g.,
make quality/lint
) -
Carefully review the error messages in your terminal output
-
Consult the documentation for the specific tool that reported the error
-
Address the issues and re-run the checks
-
For CI pipeline failures, reproduce the issue locally, fix it, and update your Pull Request