mirror of
https://github.com/lunchcat/sif.git
synced 2026-07-10 14:12:10 -07:00
08874762ba
- add golangci-lint job to go.yml (parallel with build+test) - add Go 1.23/1.24 version matrix, coverage only on 1.24 - upgrade setup-go@v4 to v5, codecov@v4 to v5 across all workflows - fix check-large-files bug (find|while never exits 1), exclude .git/ - add concurrency groups to push+PR workflows (no duplicate runs) - lowercase all workflow names to match project voice - add gosec, errorlint, gocognit, nilnil, wastedassign, usetesting linters - remove deprecated exportloopref (Go 1.22 fixed loop var capture) - new: govulncheck.yml - Go vuln scanner with call-graph analysis - new: scorecard.yml - OpenSSF supply chain scorecard - new: dependabot.yml - auto-update Go deps + Actions versions - release: SHA256 checksums + SBOM generation for all artifacts - add CODEOWNERS
48 lines
1.1 KiB
YAML
48 lines
1.1 KiB
YAML
name: go
|
|
|
|
on:
|
|
push:
|
|
branches: ["main"]
|
|
pull_request:
|
|
branches: ["main"]
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: set up go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.24"
|
|
- name: golangci-lint
|
|
uses: golangci/golangci-lint-action@v6
|
|
with:
|
|
version: latest
|
|
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
go-version: ["1.23", "1.24"]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: set up go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: ${{ matrix.go-version }}
|
|
- name: build
|
|
run: make
|
|
- name: run tests with coverage
|
|
run: go test -race -coverprofile=coverage.out -covermode=atomic ./...
|
|
- name: upload coverage to codecov
|
|
if: matrix.go-version == '1.24'
|
|
uses: codecov/codecov-action@v5
|
|
with:
|
|
files: ./coverage.out
|
|
fail_ci_if_error: false
|