223 lines
5.1 KiB
YAML
223 lines
5.1 KiB
YAML
---
|
|
defaults:
|
|
defaults: &defaults
|
|
working_directory: '/go/src/github.com/influxdata/telegraf'
|
|
environment:
|
|
GOFLAGS: -p=8
|
|
go-1_12: &go-1_12
|
|
docker:
|
|
- image: 'quay.io/influxdb/telegraf-ci:1.12.14'
|
|
environment:
|
|
GO111MODULE: 'on'
|
|
go-1_13: &go-1_13
|
|
docker:
|
|
- image: 'quay.io/influxdb/telegraf-ci:1.13.5'
|
|
mac: &mac
|
|
macos:
|
|
xcode: 11.3.1
|
|
working_directory: '~/go/src/github.com/influxdata/telegraf'
|
|
environment:
|
|
HOMEBREW_NO_AUTO_UPDATE: 1
|
|
GOFLAGS: -p=8
|
|
|
|
version: 2
|
|
jobs:
|
|
deps:
|
|
<<: [ *defaults, *go-1_13 ]
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
key: go-mod-v1-{{ checksum "go.sum" }}
|
|
- run: 'make deps'
|
|
- run: 'make tidy'
|
|
- save_cache:
|
|
name: 'go module cache'
|
|
key: go-mod-v1-{{ checksum "go.sum" }}
|
|
paths:
|
|
- '/go/pkg/mod'
|
|
- persist_to_workspace:
|
|
root: '/go'
|
|
paths:
|
|
- '*'
|
|
macdeps:
|
|
<<: [ *mac ]
|
|
steps:
|
|
- checkout
|
|
- restore_cache:
|
|
key: mac-go-mod-v1-{{ checksum "go.sum" }}
|
|
- run: 'brew install go@1.13'
|
|
- run: 'make deps'
|
|
- run: 'make tidy'
|
|
- save_cache:
|
|
name: 'go module cache'
|
|
key: mac-go-mod-v1-{{ checksum "go.sum" }}
|
|
paths:
|
|
- '~/go/pkg/mod'
|
|
- '/usr/local/Cellar/go'
|
|
- '/usr/local/bin/go'
|
|
- '/usr/local/bin/gofmt'
|
|
- persist_to_workspace:
|
|
root: '/'
|
|
paths:
|
|
- 'usr/local/bin/go'
|
|
- 'usr/local/Cellar/go'
|
|
- 'usr/local/bin/gofmt'
|
|
- 'Users/distiller/go'
|
|
|
|
test-go-1.12:
|
|
<<: [ *defaults, *go-1_12 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go'
|
|
- run: 'make'
|
|
- run: 'make check'
|
|
- run: 'make test'
|
|
test-go-1.12-386:
|
|
<<: [ *defaults, *go-1_12 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go'
|
|
- run: 'GOARCH=386 make'
|
|
- run: 'GOARCH=386 make check'
|
|
- run: 'GOARCH=386 make test'
|
|
test-go-1.13:
|
|
<<: [ *defaults, *go-1_13 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go'
|
|
- run: 'make'
|
|
- run: 'make check'
|
|
- run: 'make test'
|
|
test-go-1.13-386:
|
|
<<: [ *defaults, *go-1_13 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go'
|
|
- run: 'GOARCH=386 make'
|
|
- run: 'GOARCH=386 make check'
|
|
- run: 'GOARCH=386 make test'
|
|
test-go-1.13-darwin:
|
|
<<: [ *mac ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/'
|
|
- run: 'make'
|
|
- run: 'make check'
|
|
- run: 'make test'
|
|
|
|
package:
|
|
<<: [ *defaults, *go-1_13 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go'
|
|
- run: 'make package'
|
|
- store_artifacts:
|
|
path: './build'
|
|
destination: 'build'
|
|
release:
|
|
<<: [ *defaults, *go-1_13 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go'
|
|
- run: 'make package-release'
|
|
- store_artifacts:
|
|
path: './build'
|
|
destination: 'build'
|
|
nightly:
|
|
<<: [ *defaults, *go-1_13 ]
|
|
steps:
|
|
- attach_workspace:
|
|
at: '/go'
|
|
- run: 'make package-nightly'
|
|
- store_artifacts:
|
|
path: './build'
|
|
destination: 'build'
|
|
|
|
workflows:
|
|
version: 2
|
|
check:
|
|
jobs:
|
|
- 'macdeps':
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- 'deps':
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- 'test-go-1.12':
|
|
requires:
|
|
- 'deps'
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- 'test-go-1.12-386':
|
|
requires:
|
|
- 'deps'
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- 'test-go-1.13':
|
|
requires:
|
|
- 'deps'
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- 'test-go-1.13-386':
|
|
requires:
|
|
- 'deps'
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- 'test-go-1.13-darwin':
|
|
requires:
|
|
- 'macdeps'
|
|
filters:
|
|
tags: # only runs on tags if you specify this filter
|
|
only: /.*/
|
|
- 'package':
|
|
requires:
|
|
- 'test-go-1.12'
|
|
- 'test-go-1.12-386'
|
|
- 'test-go-1.13'
|
|
- 'test-go-1.13-386'
|
|
- 'release':
|
|
requires:
|
|
- 'test-go-1.12'
|
|
- 'test-go-1.12-386'
|
|
- 'test-go-1.13'
|
|
- 'test-go-1.13-386'
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
branches:
|
|
ignore: /.*/
|
|
nightly:
|
|
jobs:
|
|
- 'deps'
|
|
- 'test-go-1.12':
|
|
requires:
|
|
- 'deps'
|
|
- 'test-go-1.12-386':
|
|
requires:
|
|
- 'deps'
|
|
- 'test-go-1.13':
|
|
requires:
|
|
- 'deps'
|
|
- 'test-go-1.13-386':
|
|
requires:
|
|
- 'deps'
|
|
- 'nightly':
|
|
requires:
|
|
- 'test-go-1.12'
|
|
- 'test-go-1.12-386'
|
|
- 'test-go-1.13'
|
|
- 'test-go-1.13-386'
|
|
triggers:
|
|
- schedule:
|
|
cron: "0 7 * * *"
|
|
filters:
|
|
branches:
|
|
only:
|
|
- master
|