neoneo-go/.circleci/config.yml
Anna Shaleva 6332d3604f codecov: adjust codecov config and remove CircleCI coverage job
Let's keep the only coverage job, so that CircleCI and GithubAction
coverage do not conflict with each other.

Also, let's do not require all other tests to pass to report the
coverage.
2022-02-03 16:21:15 +03:00

121 lines
2.8 KiB
YAML

version: 2.1
executors:
go1_15:
docker:
- image: circleci/golang:1.15
environment:
GO111MODULE: "on"
go1_16:
docker:
- image: circleci/golang:1.16
environment:
GO111MODULE: "on"
go1_17:
docker:
- image: circleci/golang:1.17
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/nspcc-dev/neo-go
executor: go1_17
steps:
- checkout
- gomod
- run:
name: go-lint
command: |
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.42.1
make lint
test_1_15:
working_directory: /go/src/github.com/nspcc-dev/neo-go
executor: go1_15
steps:
- checkout
- run: git submodule sync
- run: git submodule update --init
- gomod
- run: go test -v -race ./...
test_1_16:
working_directory: /go/src/github.com/nspcc-dev/neo-go
executor: go1_16
steps:
- checkout
- run: git submodule sync
- run: git submodule update --init
- gomod
- run: go test -v -race ./...
build_cli:
working_directory: /go/src/github.com/nspcc-dev/neo-go
executor: go1_17
steps:
- checkout
- gomod
- run: make build
- store_artifacts:
path: bin
destination: /
build_image:
working_directory: /go/src/github.com/nspcc-dev/neo-go
executor: go1_17
docker:
- image: golang:1-alpine
steps:
- run: apk update && apk add git make curl tar
- checkout
- gomod
- setup_remote_docker:
version: 20.10.6
- run:
name: Install Docker client
command: |
set -x
VER="20.10.6"
curl -L -o /tmp/docker-$VER.tgz https://download.docker.com/linux/static/stable/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:
- lint:
filters:
tags:
only: v/[0-9]+\.[0-9]+\.[0-9]+/
- test_1_15:
filters:
tags:
only: v/[0-9]+\.[0-9]+\.[0-9]+/
- test_1_16:
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]+/