golangci-lint v2.11.4 requires Go >= 1.25. With the workflow on 1.24, setup-go would silently trigger an in-job auto-toolchain download (observed in run #71: 'go: github.com/golangci/golangci-lint/v2@v2.11.4 requires go >= 1.25.0; switching to go1.25.9') adding ~3 min to every Backend (Go) run. Bump setup-go to 1.25 in ci.yml, backend-ci.yml, go-fuzz.yml so the prebuilt Go is already the right version. Also lint-fix three files that golangci-lint's goimports checker flagged — goimports sorts/groups imports and removes unused ones, which plain gofmt leaves alone: - veza-backend-api/cmd/api/main.go - veza-backend-api/internal/api/handlers/chat_handlers.go - veza-backend-api/internal/handlers/auth_integration_test.go
42 lines
1.1 KiB
YAML
42 lines
1.1 KiB
YAML
name: Go Fuzz Tests
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 2 * * *" # Nightly at 2am UTC
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
GIT_SSL_NO_VERIFY: "true"
|
|
NODE_TLS_REJECT_UNAUTHORIZED: "0"
|
|
|
|
jobs:
|
|
fuzz:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15
|
|
|
|
defaults:
|
|
run:
|
|
working-directory: veza-backend-api
|
|
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0
|
|
with:
|
|
go-version: "1.25"
|
|
cache: true
|
|
|
|
- name: Download deps
|
|
run: go mod download
|
|
|
|
- name: Run fuzz tests
|
|
run: go test -fuzz=Fuzz -fuzztime=60s ./internal/handlers/...
|
|
|
|
- name: Upload fuzz corpus
|
|
if: always()
|
|
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
|
with:
|
|
name: fuzz-corpus
|
|
path: veza-backend-api/testdata/fuzz/
|
|
retention-days: 30
|