The `cancel-in-progress` option for concurrency is not really supported by Gitea, so the whole point of the block no longer makes any sense.
63 lines
1.3 KiB
YAML
63 lines
1.3 KiB
YAML
name: CI TEST3
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: go.mod
|
|
|
|
- uses: golangci/golangci-lint-action@v7
|
|
with:
|
|
version: latest
|
|
|
|
unit-test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: go.mod
|
|
|
|
- name: Run unit tests
|
|
run: go test ./... -cover -v
|
|
|
|
fuzz-test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: go.mod
|
|
|
|
- name: Run fuzz tests
|
|
run: |
|
|
for func in $(grep -r --include='*_test.go' -oh 'func Fuzz\w*' . | sed 's/func //'); do
|
|
go test ./... -fuzz="^${func}$" -fuzztime=30s
|
|
done
|
|
|
|
mutation-test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: go.mod
|
|
|
|
- name: Install gremlins
|
|
run: go install github.com/go-gremlins/gremlins/cmd/gremlins@latest
|
|
|
|
- name: Run mutation tests
|
|
run: gremlins unleash
|