Test / test (push) Canceled after 0s
Test / fuzz (./compat, FuzzParseFormat) (push) Canceled after 0s
Test / fuzz (./formatter, FuzzFormatJSON) (push) Canceled after 0s
Test / fuzz (./formatter, FuzzFormatTextPolicy) (push) Canceled after 0s
Test / fuzz (./sanitizer, FuzzSanitize) (push) Canceled after 0s
Test / fuzz (./sanitizer, FuzzSerializerJSON) (push) Canceled after 0s
67 lines
2.1 KiB
YAML
67 lines
2.1 KiB
YAML
name: Test
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: test-${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
|
|
with:
|
|
persist-credentials: false
|
|
- uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6
|
|
with:
|
|
go-version-file: go.mod
|
|
cache: false # Standard-library-only module.
|
|
- name: Check formatting
|
|
run: test -z "$(gofmt -l $(git ls-files '*.go'))"
|
|
- run: go vet ./...
|
|
- name: Unit, regression, and stress tests with race detection
|
|
run: go test -race -count=1 -timeout=3m ./...
|
|
- name: Repeated lifecycle and stress tests
|
|
run: go test -race -run 'Test(Stress|StartDoesNotReplaceProcessor|ConcurrentOverridesMerge|TimedOutShutdown)' -count=5 -timeout=3m .
|
|
- name: Compile supported deployment targets
|
|
run: |
|
|
GOOS=freebsd GOARCH=amd64 go build ./...
|
|
GOOS=js GOARCH=wasm go build ./...
|
|
GOOS=windows GOARCH=amd64 go build ./...
|
|
|
|
fuzz:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 5
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- package: ./sanitizer
|
|
target: FuzzSanitize
|
|
- package: ./sanitizer
|
|
target: FuzzSerializerJSON
|
|
- package: ./formatter
|
|
target: FuzzFormatJSON
|
|
- package: ./formatter
|
|
target: FuzzFormatTextPolicy
|
|
- package: ./compat
|
|
target: FuzzParseFormat
|
|
steps:
|
|
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
|
|
with:
|
|
persist-credentials: false
|
|
- uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6
|
|
with:
|
|
go-version-file: go.mod
|
|
cache: false
|
|
- name: Bounded fuzzing
|
|
run: go test '${{ matrix.package }}' -run '^$' -fuzz '^${{ matrix.target }}$' -fuzztime=15s -parallel=2 -timeout=2m
|