mirror of
https://github.com/emirpasic/gods
synced 2024-11-13 19:12:07 +00:00
55 lines
1.4 KiB
YAML
55 lines
1.4 KiB
YAML
version: 2.1
|
|
|
|
jobs:
|
|
test:
|
|
parameters:
|
|
version:
|
|
type: string
|
|
default: "latest"
|
|
working_directory: ~/gods
|
|
docker:
|
|
- image: cimg/go:<<parameters.version>>
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: Print Go version (go version)
|
|
command: |
|
|
go version
|
|
- run:
|
|
name: Run tests (gotestsum)
|
|
command: |
|
|
mkdir -p /tmp/test-reports
|
|
gotestsum --junitfile /tmp/test-reports/unit-tests.xml
|
|
- run:
|
|
name: Lint (golint)
|
|
command: |
|
|
go install github.com/golang/lint/golint@latest
|
|
golint -set_exit_status ./...
|
|
- run:
|
|
name: Enforce formatted code (go fmt)
|
|
command: |
|
|
! go fmt ./... 2>&1 | read
|
|
- run:
|
|
name: Examine and report suspicious constructs (go vet)
|
|
command: |
|
|
go vet -v ./...
|
|
- run:
|
|
name: Calculate cyclomatic complexity (gocyclo)
|
|
command: |
|
|
go install github.com/fzipp/gocyclo@latest
|
|
gocyclo -avg -over 15 .
|
|
- run:
|
|
name: Check for unchecked errors (errcheck)
|
|
command: |
|
|
go install github.com/kisielk/errcheck@latest
|
|
errcheck ./...
|
|
- store_test_results:
|
|
path: /tmp/test-reports
|
|
|
|
workflows:
|
|
test:
|
|
jobs:
|
|
- test:
|
|
matrix:
|
|
parameters:
|
|
version: ["1.18", "1.17", "1.10"] |