mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-11-27 03:58:06 +00:00
00a290de07
Go 1.11 is not supported upstream and it also breaks our precious VM for some reason, so use better versions of Go. Fixes #384.
130 lines
2.9 KiB
YAML
130 lines
2.9 KiB
YAML
version: 2.1
|
|
orbs:
|
|
codecov: codecov/codecov@1.0.5
|
|
|
|
executors:
|
|
go1_12:
|
|
docker:
|
|
- image: circleci/golang:1.12
|
|
environment:
|
|
GO111MODULE: "on"
|
|
go1_13:
|
|
docker:
|
|
- image: circleci/golang:1.13
|
|
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_13
|
|
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_13
|
|
steps:
|
|
- checkout
|
|
- gomod
|
|
- run:
|
|
name: go-vet
|
|
command: go vet ./...
|
|
|
|
test_1_12:
|
|
working_directory: /go/src/github.com/CityOfZion/neo-go
|
|
executor: go1_12
|
|
steps:
|
|
- checkout
|
|
- gomod
|
|
- run: go test -v -race ./...
|
|
|
|
test_1_13:
|
|
working_directory: /go/src/github.com/CityOfZion/neo-go
|
|
executor: go1_13
|
|
steps:
|
|
- checkout
|
|
- gomod
|
|
- run: go test -v -race ./... -coverprofile=coverage.txt -covermode=atomic
|
|
- codecov/upload:
|
|
file: coverage.txt
|
|
|
|
build_cli:
|
|
working_directory: /go/src/github.com/CityOfZion/neo-go
|
|
executor: go1_12
|
|
steps:
|
|
- checkout
|
|
- gomod
|
|
- run: make build
|
|
- store_artifacts:
|
|
path: bin
|
|
destination: /
|
|
|
|
build_image:
|
|
working_directory: /go/src/github.com/CityOfZion/neo-go
|
|
executor: go1_12
|
|
docker:
|
|
- image: alpine
|
|
steps:
|
|
- run: apk update && apk add git make curl tar
|
|
- checkout
|
|
- setup_remote_docker
|
|
- run:
|
|
name: Install Docker client
|
|
command: |
|
|
set -x
|
|
VER="17.03.0-ce"
|
|
curl -L -o /tmp/docker-$VER.tgz https://get.docker.com/builds/Linux/x86_64/docker-$VER.tgz
|
|
tar -xz -C /tmp -f /tmp/docker-$VER.tgz
|
|
mv /tmp/docker/* /usr/bin
|
|
- run: make image
|
|
|
|
|
|
workflows:
|
|
version: 2
|
|
workflow:
|
|
jobs:
|
|
- vet:
|
|
filters:
|
|
tags:
|
|
only: v/[0-9]+\.[0-9]+\.[0-9]+/
|
|
- lint:
|
|
filters:
|
|
tags:
|
|
only: v/[0-9]+\.[0-9]+\.[0-9]+/
|
|
- test_1_12:
|
|
filters:
|
|
tags:
|
|
only: v/[0-9]+\.[0-9]+\.[0-9]+/
|
|
- test_1_13:
|
|
filters:
|
|
tags:
|
|
only: v/[0-9]+\.[0-9]+\.[0-9]+/
|
|
- build_cli:
|
|
filters:
|
|
tags:
|
|
only: v/[0-9]+\.[0-9]+\.[0-9]+/
|
|
- build_image:
|
|
requires:
|
|
- build_cli
|
|
filters:
|
|
tags:
|
|
only: v/[0-9]+\.[0-9]+\.[0-9]+/
|