-
Notifications
You must be signed in to change notification settings - Fork 0
45 lines (36 loc) · 1.2 KB
/
Copy pathqa.yml
File metadata and controls
45 lines (36 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
name: QA
on:
pull_request:
jobs:
qa:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod
cache: true
# Finer cache key than go.mod alone; restores module + build cache (see setup-go README).
cache-dependency-path: go.sum
- name: Quality checks
run: make quality-checks
# Conformance/parity suites live under ./internal/testkit/conformance/... and run here (no duplicate step).
- name: Unit tests
run: go test -parallel=8 -tags=precommit,integration ./...
- name: Release gates (fuzz smoke)
env:
# ~30 targets × FUZZTIME; keep within job timeout alongside race + lint.
FUZZTIME: 6s
run: make test-fuzz
- name: Race detector
run: bash scripts/race-check.sh --strict
- name: golangci-lint
uses: golangci/golangci-lint-action@v9
with:
version: v2.11.4
args: --timeout=10m
- name: govulncheck
run: go tool govulncheck ./...