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.
87 lines
1.9 KiB
87 lines
1.9 KiB
version: 2.0 |
|
|
|
jobs: |
|
# Base test configuration for Go library tests Each distinct version should |
|
# inherit this base, and override (at least) the container image used. |
|
"test": &test |
|
docker: |
|
- image: circleci/golang:latest |
|
working_directory: /go/src/github.com/gorilla/mux |
|
steps: &steps |
|
# Our build steps: we checkout the repo, fetch our deps, lint, and finally |
|
# run "go test" on the package. |
|
- checkout |
|
# Logs the version in our build logs, for posterity |
|
- run: go version |
|
- run: |
|
name: "Fetch dependencies" |
|
command: > |
|
go get -t -v ./... |
|
# Only run gofmt, vet & lint against the latest Go version |
|
- run: |
|
name: "Run golint" |
|
command: > |
|
if [ "${LATEST}" = true ] && [ -z "${SKIP_GOLINT}" ]; then |
|
go get -u golang.org/x/lint/golint |
|
golint ./... |
|
fi |
|
- run: |
|
name: "Run gofmt" |
|
command: > |
|
if [[ "${LATEST}" = true ]]; then |
|
diff -u <(echo -n) <(gofmt -d -e .) |
|
fi |
|
- run: |
|
name: "Run go vet" |
|
command: > |
|
if [[ "${LATEST}" = true ]]; then |
|
go vet -v ./... |
|
fi |
|
- run: go test -v -race ./... |
|
|
|
"latest": |
|
<<: *test |
|
environment: |
|
LATEST: true |
|
|
|
"1.12": |
|
<<: *test |
|
docker: |
|
- image: circleci/golang:1.12 |
|
|
|
"1.11": |
|
<<: *test |
|
docker: |
|
- image: circleci/golang:1.11 |
|
|
|
"1.10": |
|
<<: *test |
|
docker: |
|
- image: circleci/golang:1.10 |
|
|
|
"1.9": |
|
<<: *test |
|
docker: |
|
- image: circleci/golang:1.9 |
|
|
|
"1.8": |
|
<<: *test |
|
docker: |
|
- image: circleci/golang:1.8 |
|
|
|
"1.7": |
|
<<: *test |
|
docker: |
|
- image: circleci/golang:1.7 |
|
|
|
workflows: |
|
version: 2 |
|
build: |
|
jobs: |
|
- "latest" |
|
- "1.12" |
|
- "1.11" |
|
- "1.10" |
|
- "1.9" |
|
- "1.8" |
|
- "1.7"
|
|
|