97 lines
2.1 KiB
YAML
97 lines
2.1 KiB
YAML
---
|
|
defaults:
|
|
defaults: &defaults
|
|
working_directory: '/go/src/github.com/influxdata/telegraf'
|
|
go-1_9: &go-1_9
|
|
docker:
|
|
- image: 'circleci/golang:1.9.7'
|
|
go-1_10: &go-1_10
|
|
docker:
|
|
- image: 'circleci/golang:1.10.3'
|
|
|
|
version: 2
|
|
jobs:
|
|
deps:
|
|
<<: [ *defaults, *go-1_10 ]
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
key: vendor-{{ checksum "Gopkg.lock" }}
|
|
- run: 'make deps'
|
|
- save_cache:
|
|
name: 'vendored deps'
|
|
key: vendor-{{ checksum "Gopkg.lock" }}
|
|
paths:
|
|
- './vendor'
|
|
- persist_to_workspace:
|
|
root: '/go/src'
|
|
paths:
|
|
- '*'
|
|
test-go-1.9:
|
|
<<: [ *defaults, *go-1_9 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go/src'
|
|
- run: 'make test-ci'
|
|
test-go-1.10:
|
|
<<: [ *defaults, *go-1_10 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go/src'
|
|
- run: 'make test-ci'
|
|
- run: 'GOARCH=386 make test-ci'
|
|
release:
|
|
<<: [ *defaults, *go-1_10 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go/src'
|
|
- run: './scripts/release.sh'
|
|
- store_artifacts:
|
|
path: './artifacts'
|
|
destination: '.'
|
|
nightly:
|
|
<<: [ *defaults, *go-1_10 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go/src'
|
|
- run: './scripts/release.sh'
|
|
- store_artifacts:
|
|
path: './artifacts'
|
|
destination: '.'
|
|
|
|
workflows:
|
|
version: 2
|
|
build_and_release:
|
|
jobs:
|
|
- 'deps'
|
|
- 'test-go-1.9':
|
|
requires:
|
|
- 'deps'
|
|
- 'test-go-1.10':
|
|
requires:
|
|
- 'deps'
|
|
- 'release':
|
|
requires:
|
|
- 'test-go-1.9'
|
|
- 'test-go-1.10'
|
|
nightly:
|
|
jobs:
|
|
- 'deps'
|
|
- 'test-go-1.9':
|
|
requires:
|
|
- 'deps'
|
|
- 'test-go-1.10':
|
|
requires:
|
|
- 'deps'
|
|
- 'nightly':
|
|
requires:
|
|
- 'test-go-1.9'
|
|
- 'test-go-1.10'
|
|
triggers:
|
|
- schedule:
|
|
cron: "0 7 * * *"
|
|
filters:
|
|
branches:
|
|
only:
|
|
- master
|