neo-go/.circleci/config.yml

142 lines
3.4 KiB
YAML
Raw Normal View History

2019-02-27 13:49:16 +00:00
version: 2.1
2019-08-30 13:11:32 +00:00
orbs:
codecov: codecov/codecov@1.0.5
2019-02-27 13:49:16 +00:00
executors:
2020-03-17 14:11:43 +00:00
go1_14:
docker:
- image: circleci/golang:1.14
environment:
GO111MODULE: "on"
2021-02-24 20:20:16 +00:00
go1_15:
docker:
- image: circleci/golang:1.15
environment:
GO111MODULE: "on"
2021-03-01 14:22:27 +00:00
go1_16:
docker:
- image: circleci/golang:1.16
environment:
GO111MODULE: "on"
2019-02-27 13:49:16 +00:00
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
2021-03-01 14:22:27 +00:00
executor: go1_16
2019-02-27 13:49:16 +00:00
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.40.0
make lint
2019-02-27 13:49:16 +00:00
2020-03-17 14:11:43 +00:00
test_1_14:
working_directory: /go/src/github.com/nspcc-dev/neo-go
executor: go1_14
2019-02-27 13:49:16 +00:00
steps:
- checkout
- run: git submodule sync
- run: git submodule update --init
2019-02-27 13:49:16 +00:00
- gomod
- run: go test -v -race ./...
2021-03-01 14:22:27 +00:00
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_cover:
working_directory: /go/src/github.com/nspcc-dev/neo-go
2021-03-01 14:22:27 +00:00
executor: go1_16
environment:
CGO_ENABLED: 0
steps:
- checkout
- run: git submodule sync
- run: git submodule update --init
- gomod
- run: go test -v ./... -coverprofile=coverage.txt -covermode=atomic -coverpkg=./pkg...,./cli/...
2019-08-30 13:11:32 +00:00
- codecov/upload:
file: coverage.txt
2019-02-27 13:49:16 +00:00
build_cli:
working_directory: /go/src/github.com/nspcc-dev/neo-go
2021-03-01 14:22:27 +00:00
executor: go1_16
steps:
- checkout
- gomod
- run: make build
- store_artifacts:
path: bin
destination: /
build_image:
working_directory: /go/src/github.com/nspcc-dev/neo-go
2021-03-01 14:22:27 +00:00
executor: go1_16
docker:
- image: golang:1-alpine
steps:
- run: apk update && apk add git make curl tar
- checkout
- gomod
- 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
2019-02-27 13:49:16 +00:00
workflows:
version: 2
2019-02-27 13:49:16 +00:00
workflow:
jobs:
- lint:
filters:
tags:
only: v/[0-9]+\.[0-9]+\.[0-9]+/
2020-03-17 14:11:43 +00:00
- test_1_14:
filters:
tags:
only: v/[0-9]+\.[0-9]+\.[0-9]+/
2021-03-01 14:22:27 +00:00
- test_1_15:
filters:
tags:
only: v/[0-9]+\.[0-9]+\.[0-9]+/
- test_cover:
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]+/