You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.8 KiB
70 lines
1.8 KiB
version: 2.1 |
|
|
|
jobs: |
|
"test": |
|
parameters: |
|
version: |
|
type: string |
|
default: "latest" |
|
golint: |
|
type: boolean |
|
default: true |
|
modules: |
|
type: boolean |
|
default: true |
|
goproxy: |
|
type: string |
|
default: "" |
|
docker: |
|
- image: "circleci/golang:<< parameters.version >>" |
|
working_directory: /go/src/github.com/gorilla/mux |
|
environment: |
|
GO111MODULE: "on" |
|
GOPROXY: "<< parameters.goproxy >>" |
|
steps: |
|
- checkout |
|
- run: |
|
name: "Print the Go version" |
|
command: > |
|
go version |
|
- run: |
|
name: "Fetch dependencies" |
|
command: > |
|
if [[ << parameters.modules >> = true ]]; then |
|
go mod download |
|
export GO111MODULE=on |
|
else |
|
go get -v ./... |
|
fi |
|
# Only run gofmt, vet & lint against the latest Go version |
|
- run: |
|
name: "Run golint" |
|
command: > |
|
if [ << parameters.version >> = "latest" ] && [ << parameters.golint >> = true ]; then |
|
go get -u golang.org/x/lint/golint |
|
golint ./... |
|
fi |
|
- run: |
|
name: "Run gofmt" |
|
command: > |
|
if [[ << parameters.version >> = "latest" ]]; then |
|
diff -u <(echo -n) <(gofmt -d -e .) |
|
fi |
|
- run: |
|
name: "Run go vet" |
|
command: > |
|
if [[ << parameters.version >> = "latest" ]]; then |
|
go vet -v ./... |
|
fi |
|
- run: |
|
name: "Run go test (+ race detector)" |
|
command: > |
|
go test -v -race ./... |
|
|
|
workflows: |
|
tests: |
|
jobs: |
|
- test: |
|
matrix: |
|
parameters: |
|
version: ["latest", "1.15", "1.14", "1.13", "1.12", "1.11"]
|
|
|