Quick Start¶
Get up and running with Go Gamma Actions in 5 minutes.
The Basics¶
Minimal CI Pipeline¶
name: CI
on: [push, pull_request]
permissions:
contents: read
security-events: write
jobs:
ci:
uses: go-gamma/actions/.github/workflows/ci.yml@v1
permissions:
contents: read
security-events: write
with:
go-version: '1.24'
This single workflow gives you:
| Phase | What Runs |
|---|---|
| Test | go test -race -shuffle=on -coverprofile=coverage.out ./... |
| Lint | golangci-lint run with 50+ linters |
| Security | gosec and govulncheck |
| Build | go build ./... on Linux, macOS, Windows |
Execution Flow¶
flowchart TB
subgraph parallel["Parallel Execution"]
test["TEST<br/>(ubuntu)"]
lint["LINT<br/>(ubuntu)"]
security["SECURITY<br/>(ubuntu)"]
end
subgraph sequential["Sequential"]
build["BUILD<br/>(matrix)<br/>linux / mac / windows"]
end
test --> build
lint --> build
security --> build Common Configurations¶
With Codecov¶
jobs:
ci:
uses: go-gamma/actions/.github/workflows/ci.yml@v1
with:
go-version: '1.24'
upload-coverage: true
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
With Security Scanning¶
permissions:
contents: read
security-events: write
jobs:
ci:
uses: go-gamma/actions/.github/workflows/ci.yml@v1
permissions:
contents: read
security-events: write
with:
go-version: '1.24'
upload-sarif: true
fail-on-vulns: true
Skip Phases¶
jobs:
ci:
uses: go-gamma/actions/.github/workflows/ci.yml@v1
with:
go-version: '1.24'
skip-security: true # Skip for feature branches
skip-build: true # Skip for library repos
PR Optimization¶
Only report new lint issues on pull requests:
jobs:
ci:
uses: go-gamma/actions/.github/workflows/ci.yml@v1
with:
go-version: '1.24'
only-new-issues: ${{ github.event_name == 'pull_request' }}
Adding Releases¶
Create .github/workflows/release.yml:
name: Release
on:
push:
tags:
- 'v*.*.*'
permissions:
contents: write
jobs:
release:
uses: go-gamma/actions/.github/workflows/release.yml@v1
permissions:
contents: write
with:
go-version: '1.24'
generate-changelog: true
update-godoc: true
Then create a release:
What's Next?¶
- Configuration Options - All available inputs
- Workflow Reference - Detailed workflow docs
- Guides - Advanced use cases