chore: align release workflow + semver + golangci with sibling projects

This commit is contained in:
2026-05-23 12:29:33 +01:00
parent 0677223ff6
commit 00267850ce
7 changed files with 187 additions and 37 deletions
+20
View File
@@ -0,0 +1,20 @@
name: Autoupdate go.mod and go.sum
on:
workflow_dispatch:
schedule:
- cron: "0 3 * * *"
permissions:
contents: write
actions: write
pull-requests: write
security-events: write
jobs:
autoupdate:
uses: lukaszraczylo/shared-actions/.github/workflows/go-autoupdate.yaml@main
with:
go-version: ">=1.24"
release-workflow: "release.yaml"
secrets: inherit
-37
View File
@@ -1,37 +0,0 @@
name: ci
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
name: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true
- name: vet
run: go vet ./...
- name: build
run: go build ./...
- name: test
run: go test -race -count=1 ./...
lint:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true
- uses: golangci/golangci-lint-action@v6
with:
version: latest
+40
View File
@@ -0,0 +1,40 @@
name: Lint
on:
push:
branches:
- main
paths:
- '**.go'
- 'go.mod'
- 'go.sum'
- '.golangci.yml'
pull_request:
paths:
- '**.go'
- 'go.mod'
- 'go.sum'
- '.golangci.yml'
permissions:
contents: read
jobs:
golangci:
name: golangci-lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true
- name: Run golangci-lint
uses: golangci/golangci-lint-action@v8
with:
version: v2.9.0
args: --timeout=5m
+23
View File
@@ -0,0 +1,23 @@
name: Test, build, release
on:
workflow_dispatch:
push:
paths-ignore:
- '**.md'
- '**/release.yaml'
branches:
- main
permissions:
id-token: write
contents: write
packages: write
jobs:
release:
uses: lukaszraczylo/shared-actions/.github/workflows/go-release.yaml@main
with:
go-version: ">=1.24"
rolling-release-tag: "v1"
secrets: inherit
+40
View File
@@ -0,0 +1,40 @@
name: Security Scan
on:
push:
branches:
- main
paths:
- '**.go'
- 'go.mod'
- 'go.sum'
pull_request:
paths:
- '**.go'
- 'go.mod'
- 'go.sum'
schedule:
- cron: '0 9 * * 1'
permissions:
contents: read
jobs:
govulncheck:
name: Run govulncheck
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true
- name: Install govulncheck
run: go install golang.org/x/vuln/cmd/govulncheck@latest
- name: Run govulncheck
run: govulncheck ./...
+43
View File
@@ -0,0 +1,43 @@
version: "2"
run:
timeout: 5m
go: '1.25'
linters:
enable:
- errcheck
- govet
- ineffassign
- staticcheck
- unused
- gocyclo
- misspell
formatters:
enable:
- gofmt
linters-settings:
gocyclo:
min-complexity: 15
errcheck:
check-blank: true
govet:
enable-all: true
staticcheck:
checks: ["all"]
issues:
exclude-rules:
- path: _test\.go
linters:
- gocyclo
- errcheck
- gosec
max-issues-per-linter: 0
max-same-issues: 0
output:
sort-results: true
+21
View File
@@ -0,0 +1,21 @@
version: 1
force:
existing: true
strict: false
minor: 1
wording:
patch:
- update
- initial
- fix
- chore
- docs
- test
minor:
- release
- refactor
- feat
- feature
major:
- breaking
- major