diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..c4c2ca127 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,84 @@ +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]+/