Merge pull request #308 from nspcc-dev/circleci-update-306

circleci: update config to include cli and docker builds
This commit is contained in:
Vsevolod 2019-08-21 22:10:45 +03:00 committed by GitHub
commit caaba8e874
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 42 additions and 144 deletions

View file

@ -62,6 +62,34 @@ jobs:
- gomod
- run: go test -v -race ./...
build_cli:
working_directory: /go/src/github.com/CityOfZion/neo-go
executor: go1_12
steps:
- checkout
- gomod
- run: make build
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 build-image
workflows:
version: 2.1
workflow:
@ -69,16 +97,26 @@ workflows:
- vet:
filters:
tags:
only: /[0-9]+\.[0-9]+\.[0-9]+/
only: v/[0-9]+\.[0-9]+\.[0-9]+/
- lint:
filters:
tags:
only: /[0-9]+\.[0-9]+\.[0-9]+/
only: v/[0-9]+\.[0-9]+\.[0-9]+/
- test_1_11:
filters:
tags:
only: /[0-9]+\.[0-9]+\.[0-9]+/
only: v/[0-9]+\.[0-9]+\.[0-9]+/
- test_1_12:
filters:
tags:
only: /[0-9]+\.[0-9]+\.[0-9]+/
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]+/

View file

@ -1,140 +0,0 @@
version: 2
jobs:
install_deps:
working_directory: /go/src/github.com/CityOfZion/neo-go
docker:
- image: vidsyhq/go-builder:latest
environment:
BUILD: false
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "Gopkg.toml" }}-{{ checksum "Gopkg.lock" }}
- run: /scripts/build.sh
- save_cache:
key: dependency-cache-{{ checksum "Gopkg.toml" }}-{{ checksum "Gopkg.lock" }}
paths:
- vendor
- /go/pkg
build_image:
working_directory: /go/src/github.com/CityOfZion/neo-go
docker:
- image: alpine
steps:
- run: apk update && apk add git make curl tar
- checkout
- restore_cache:
keys:
- dependency-cache-{{ .Revision }}
- restore_cache:
keys:
- dependency-cache-cli-{{ checksum "Gopkg.toml" }}-{{ checksum "Gopkg.lock" }}
- 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 build-image
test:
working_directory: /go/src/github.com/CityOfZion/neo-go
docker:
- image: vidsyhq/go-builder:latest
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "Gopkg.toml" }}-{{ checksum "Gopkg.lock" }}
- run: make test
vet:
working_directory: /go/src/github.com/CityOfZion/neo-go
docker:
- image: vidsyhq/go-builder:latest
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "Gopkg.toml" }}-{{ checksum "Gopkg.lock" }}
- run: make vet
build_cli:
working_directory: /go/src/github.com/CityOfZion/neo-go
docker:
- image: vidsyhq/go-builder:latest
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "Gopkg.toml" }}-{{ checksum "Gopkg.lock" }}
- run: make build
- save_cache:
key: dependency-cache-cli-{{ checksum "Gopkg.toml" }}-{{ checksum "Gopkg.lock" }}
paths:
- bin/neo-go
deploy:
working_directory: /go/src/github.com/CityOfZion/neo-go
docker:
- image: alpine
steps:
- run: apk update && apk add git make curl tar
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "Gopkg.toml" }}-{{ checksum "Gopkg.lock" }}
- restore_cache:
key: dependency-cache-cli-{{ checksum "Gopkg.toml" }}-{{ checksum "Gopkg.lock" }}
- 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 build-image
- deploy:
name: deploy
command: make push-to-registry
workflows:
version: 2
workflow:
jobs:
- install_deps:
filters:
tags:
only: /[0-9]+\.[0-9]+\.[0-9]+/
- test:
requires:
- install_deps
filters:
tags:
only: /[0-9]+\.[0-9]+\.[0-9]+/
- vet:
requires:
- install_deps
filters:
tags:
only: /[0-9]+\.[0-9]+\.[0-9]+/
- build_cli:
requires:
- install_deps
filters:
tags:
only: /[0-9]+\.[0-9]+\.[0-9]+/
- build_image:
requires:
- install_deps
- build_cli
filters:
tags:
only: /[0-9]+\.[0-9]+\.[0-9]+/
- deploy:
requires:
- build_image
- test
- vet
filters:
tags:
only:
- /[0-9]+\.[0-9]+\.[0-9]+/
branches:
ignore: /.*/