Pipeline: Golang

Pipeline for Golang projects. This pipeline will run golangci-lint, go generate (optional), go build, and go test.

Flowchart

flowchart TD

classDef optional stroke-dasharray: 5 5

job:go-generate{{"go-generate"}}
job:go-build{{"go-build"}}
job:go-test{{"go-test"}}
job:golangci-lint{{"golangci-lint"}}

class job:go-generate optional
class job:go-test optional

subgraph stage:build["stage: build"]
job:go-generate --> job:go-build
end

subgraph stage:test["stage: test"]
job:go-generate --> job:go-test
job:go-generate --> job:golangci-lint
end

stage:build --> stage:test

Usage

include:
  - component: gitlab.com/release-process/golang/pipeline@0.1.0

Inputs

NameDescriptionDefault
dirthe directory to build.
generateWhether to run go generatefalse
go_versionThe version of Go to use1.22
golangci_lint_versionThe version of golangci-lint to use1.54
nameThe name to prefix all job names withgolang