version: 2.1 executors: go1_11: docker: - image: circleci/golang:1.11 environment: GO111MODULE: "on" go1_12: docker: - image: circleci/golang:1.12 environment: GO111MODULE: "on" commands: gomod: steps: - restore_cache: keys: [deps-] - run: name: Download go module dependencies command: go mod download - save_cache: key: deps-{{ checksum "go.sum" }}-{{ checksum "go.sum" }} paths: [/go/pkg/mod] jobs: lint: working_directory: /go/src/github.com/CityOfZion/neo-go executor: go1_12 steps: - checkout - gomod - run: name: go-lint command: | go get -u -v golang.org/x/lint/golint golint -set_exit_status ./... vet: working_directory: /go/src/github.com/CityOfZion/neo-go executor: go1_12 steps: - checkout - gomod - run: name: go-vet command: go vet ./... test_1_11: working_directory: /go/src/github.com/CityOfZion/neo-go executor: go1_11 steps: - checkout - gomod - run: go test -v -race ./... test_1_12: working_directory: /go/src/github.com/CityOfZion/neo-go executor: go1_12 steps: - checkout - gomod - run: go test -v -race ./... workflows: version: 2.1 workflow: jobs: - vet: filters: tags: only: /[0-9]+\.[0-9]+\.[0-9]+/ - lint: filters: tags: only: /[0-9]+\.[0-9]+\.[0-9]+/ - test_1_11: filters: tags: only: /[0-9]+\.[0-9]+\.[0-9]+/ - test_1_12: filters: tags: only: /[0-9]+\.[0-9]+\.[0-9]+/