Complete azure-pipelines toolkit with generation and validation capabilities
97
97%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
{
"context": "Tests Go-specific pipeline conventions: GoTool@0 (not @1 or @latest), caching at $(GOPATH)/pkg/mod using go.sum as key, go vet before tests, -race and -coverprofile flags on test command, and CGO_ENABLED=0 for container builds.",
"type": "weighted_checklist",
"checklist": [
{
"name": "GoTool@0 used",
"description": "The pipeline uses `GoTool@0` (exactly @0, not @1, @2, or @latest)",
"max_score": 12
},
{
"name": "Go modules cache path",
"description": "The Cache@2 task uses `$(GOPATH)/pkg/mod` as the cache path (not a generic or incorrect path)",
"max_score": 10
},
{
"name": "go.sum as cache key",
"description": "The Cache@2 task uses `go.sum` in its key (e.g., `go | \"$(Agent.OS)\" | go.sum`)",
"max_score": 10
},
{
"name": "go vet before tests",
"description": "A `go vet ./...` step appears before the test step",
"max_score": 12
},
{
"name": "-race flag on tests",
"description": "The test command includes the `-race` flag",
"max_score": 10
},
{
"name": "-coverprofile flag on tests",
"description": "The test command includes a `-coverprofile` flag",
"max_score": 8
},
{
"name": "CGO_ENABLED=0 on build",
"description": "The binary build step sets `CGO_ENABLED=0` as an environment variable or inline in the command",
"max_score": 10
},
{
"name": "displayName on all steps",
"description": "Every task and script step has a displayName property",
"max_score": 8
},
{
"name": "Pinned vmImage",
"description": "Pool vmImage uses a specific version (e.g., ubuntu-22.04) not ubuntu-latest",
"max_score": 8
},
{
"name": "PublishTestResults task",
"description": "A PublishTestResults@2 task is present",
"max_score": 6
},
{
"name": "No @latest task usage",
"description": "No task in the file uses @latest version",
"max_score": 6
}
]
}