mirror of
https://github.com/zrepl/zrepl.git
synced 2024-12-23 07:28:57 +01:00
71d331af16
Doesn't cover all of Travis, but CircleCI archives artifacts.
80 lines
2.0 KiB
YAML
80 lines
2.0 KiB
YAML
version: 2.0
|
|
workflows:
|
|
version: 2
|
|
build:
|
|
jobs:
|
|
- build-1.11
|
|
- build-1.12
|
|
- build-latest
|
|
jobs:
|
|
# build-latest serves as the template
|
|
# we use YAML anchors & aliases to exchange the docker image (and hence Go version used for the build)
|
|
build-latest: &build-latest
|
|
description: Builds zrepl
|
|
parameters:
|
|
image:
|
|
description: "the docker image that the job should use"
|
|
type: string
|
|
docker:
|
|
- image: circleci/golang:latest
|
|
environment:
|
|
# required by lazy.sh
|
|
TERM: xterm
|
|
working_directory: /go/src/github.com/zrepl/zrepl
|
|
steps:
|
|
- run:
|
|
name: Setup environment variables
|
|
command: |
|
|
# used by pip (for docs)
|
|
echo 'export PATH="$HOME/.local/bin:$PATH"' >> $BASH_ENV
|
|
|
|
- restore_cache:
|
|
keys:
|
|
- source
|
|
- vendor
|
|
- protobuf
|
|
|
|
- checkout
|
|
|
|
- save_cache:
|
|
key: source
|
|
paths:
|
|
- ".git"
|
|
|
|
# install deps
|
|
- run: wget https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protoc-3.6.1-linux-x86_64.zip
|
|
- run: echo "6003de742ea3fcf703cfec1cd4a3380fd143081a2eb0e559065563496af27807 protoc-3.6.1-linux-x86_64.zip" | sha256sum -c
|
|
- run: sudo unzip -d /usr protoc-3.6.1-linux-x86_64.zip
|
|
- save_cache:
|
|
key: protobuf
|
|
paths:
|
|
- "/usr/include/google/protobuf"
|
|
|
|
- run: sudo apt install python3 python3-pip libgirepository1.0-dev
|
|
- run: ./lazy.sh devsetup
|
|
|
|
- run: make vendordeps
|
|
- save_cache:
|
|
key: vendor
|
|
paths:
|
|
- "./vendor"
|
|
|
|
- run: make
|
|
- run: make vet
|
|
- run: make test
|
|
- run: make release
|
|
|
|
- store_artifacts:
|
|
path: ./artifacts/release
|
|
when: always
|
|
|
|
|
|
build-1.11:
|
|
<<: *build-latest
|
|
docker:
|
|
- image: circleci/golang:1.11
|
|
build-1.12:
|
|
<<: *build-latest
|
|
docker:
|
|
- image: circleci/golang:1.12
|