170 lines
3.8 KiB
YAML
170 lines
3.8 KiB
YAML
---
|
|
defaults:
|
|
defaults: &defaults
|
|
working_directory: '/go/src/github.com/influxdata/telegraf'
|
|
go-1_9: &go-1_9
|
|
docker:
|
|
- image: 'quay.io/influxdb/telegraf-ci:1.9.7'
|
|
go-1_10: &go-1_10
|
|
docker:
|
|
- image: 'quay.io/influxdb/telegraf-ci:1.10.4'
|
|
go-1_11: &go-1_11
|
|
docker:
|
|
- image: 'quay.io/influxdb/telegraf-ci:1.11.1'
|
|
|
|
version: 2
|
|
jobs:
|
|
deps:
|
|
<<: [ *defaults, *go-1_11 ]
|
|
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 check'
|
|
- run: 'make test'
|
|
test-go-1.10:
|
|
<<: [ *defaults, *go-1_10 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go/src'
|
|
- run: 'make check'
|
|
- run: 'make test'
|
|
test-go-1.11:
|
|
<<: [ *defaults, *go-1_11 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go/src'
|
|
# disabled due to gofmt differences (1.10 vs 1.11).
|
|
# - run: 'make check'
|
|
- run: 'make test'
|
|
test-go-1.11-386:
|
|
<<: [ *defaults, *go-1_11 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go/src'
|
|
# disabled due to gofmt differences (1.10 vs 1.11).
|
|
# - run: 'GOARCH=386 make check'
|
|
- run: 'GOARCH=386 make test'
|
|
|
|
package:
|
|
<<: [ *defaults, *go-1_11 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go/src'
|
|
- run: 'make package'
|
|
- store_artifacts:
|
|
path: './build'
|
|
destination: 'build'
|
|
release:
|
|
<<: [ *defaults, *go-1_11 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go/src'
|
|
- run: 'make package-release'
|
|
- store_artifacts:
|
|
path: './build'
|
|
destination: 'build'
|
|
nightly:
|
|
<<: [ *defaults, *go-1_11 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go/src'
|
|
- run: 'make package-nightly'
|
|
- store_artifacts:
|
|
path: './build'
|
|
destination: 'build'
|
|
|
|
workflows:
|
|
version: 2
|
|
check:
|
|
jobs:
|
|
- 'deps':
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- 'test-go-1.9':
|
|
requires:
|
|
- 'deps'
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- 'test-go-1.10':
|
|
requires:
|
|
- 'deps'
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- 'test-go-1.11':
|
|
requires:
|
|
- 'deps'
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- 'test-go-1.11-386':
|
|
requires:
|
|
- 'deps'
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- 'package':
|
|
requires:
|
|
- 'test-go-1.9'
|
|
- 'test-go-1.10'
|
|
- 'test-go-1.11'
|
|
- 'test-go-1.11-386'
|
|
- 'release':
|
|
requires:
|
|
- 'test-go-1.9'
|
|
- 'test-go-1.10'
|
|
- 'test-go-1.11'
|
|
- 'test-go-1.11-386'
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
branches:
|
|
ignore: /.*/
|
|
nightly:
|
|
jobs:
|
|
- 'deps'
|
|
- 'test-go-1.9':
|
|
requires:
|
|
- 'deps'
|
|
- 'test-go-1.10':
|
|
requires:
|
|
- 'deps'
|
|
- 'test-go-1.11':
|
|
requires:
|
|
- 'deps'
|
|
- 'test-go-1.11-386':
|
|
requires:
|
|
- 'deps'
|
|
- 'nightly':
|
|
requires:
|
|
- 'test-go-1.9'
|
|
- 'test-go-1.10'
|
|
- 'test-go-1.11'
|
|
- 'test-go-1.11-386'
|
|
triggers:
|
|
- schedule:
|
|
cron: "0 7 * * *"
|
|
filters:
|
|
branches:
|
|
only:
|
|
- master
|