telegraf/.circleci/config.yml

304 lines
7.1 KiB
YAML
Raw Normal View History

version: 2.1
orbs:
win: circleci/windows@2.4.0
2021-03-18 02:52:26 +08:00
aws-cli: circleci/aws-cli@1.4.0
executors:
go-1_15:
working_directory: '/go/src/github.com/influxdata/telegraf'
docker:
- image: 'quay.io/influxdb/telegraf-ci:1.15.8'
environment:
GOFLAGS: -p=8
go-1_16:
working_directory: '/go/src/github.com/influxdata/telegraf'
2020-10-08 02:51:49 +08:00
docker:
2021-03-17 03:23:44 +08:00
- image: 'quay.io/influxdb/telegraf-ci:1.16.2'
environment:
GOFLAGS: -p=8
mac:
2020-02-21 06:23:13 +08:00
macos:
xcode: 12.4.0
2020-02-21 06:23:13 +08:00
working_directory: '~/go/src/github.com/influxdata/telegraf'
environment:
HOMEBREW_NO_AUTO_UPDATE: 1
GOFLAGS: -p=8
commands:
test-go:
parameters:
goarch:
type: string
default: "amd64"
steps:
- checkout
- attach_workspace:
at: '/go'
- run: 'GOARCH=<< parameters.goarch >> make'
- run: 'GOARCH=<< parameters.goarch >> make check'
- run: 'GOARCH=<< parameters.goarch >> make check-deps'
- run: 'GOARCH=<< parameters.goarch >> make test'
package:
parameters:
nightly:
type: boolean
default: false
steps:
- checkout
- attach_workspace:
at: '/go'
- when:
condition: << parameters.nightly >>
steps:
- run: 'NIGHTLY=1 make package'
- run: 'make upload-nightly'
- unless:
condition: << parameters.nightly >>
steps:
- run: 'make package'
- store_artifacts:
path: './build/dist'
destination: 'build/dist'
- persist_to_workspace:
root: './build'
paths:
- 'dist'
2018-02-02 07:05:39 +08:00
jobs:
deps:
executor: go-1_16
2018-02-02 07:05:39 +08:00
steps:
- checkout
- restore_cache:
key: go-mod-v1-{{ checksum "go.sum" }}
2018-04-03 05:13:15 +08:00
- 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:
- '*'
test-go-1_15:
executor: go-1_15
steps:
- test-go
test-go-1_15-386:
executor: go-1_15
steps:
- test-go:
goarch: "386"
test-go-1_16:
executor: go-1_16
steps:
- test-go
test-go-1_16-386:
executor: go-1_16
2018-10-20 02:01:31 +08:00
steps:
- test-go:
goarch: "386"
2021-03-17 03:23:44 +08:00
test-go-mac:
executor: mac
2020-02-21 06:23:13 +08:00
steps:
2021-03-17 03:23:44 +08:00
- checkout
- restore_cache:
key: mac-go-mod-v0-{{ checksum "go.sum" }}
- run: 'sh ./scripts/mac_installgo.sh'
- save_cache:
name: 'Saving cache'
key: mac-go-mod-v0-{{ checksum "go.sum" }}
paths:
- '/usr/local/Cellar/go'
- '/usr/local/bin/go'
- '/usr/local/bin/gofmt'
- run: 'make deps'
- run: 'make tidy'
- run: 'make'
- run: 'make check'
- run: 'make test'
test-go-windows:
executor:
name: win/default
shell: powershell.exe
steps:
- checkout
2021-03-17 03:23:44 +08:00
- run: choco upgrade golang --version=1.16.2
- run: choco install make
- run: git config --system core.longpaths true
- run: make test-windows
package:
executor: go-1_16
steps:
- package
2018-02-02 07:05:39 +08:00
release:
executor: go-1_16
2018-02-02 07:05:39 +08:00
steps:
- package
2018-02-02 07:05:39 +08:00
nightly:
executor: go-1_16
2018-02-02 07:05:39 +08:00
steps:
- package:
nightly: true
package-sign-windows:
executor:
name: win/default
shell: powershell.exe
steps:
- checkout
- attach_workspace:
at: '/build'
- run:
name: "Sign Windows Executables"
shell: powershell.exe
command: |
./scripts/windows-signing.ps1
- persist_to_workspace:
root: './build'
paths:
- 'dist'
- store_artifacts:
path: './build/dist'
destination: 'build/dist'
package-sign-mac:
macos:
xcode: "11.3"
working_directory: /Users/distiller/project
environment:
FL_OUTPUT_DIR: output
FASTLANE_LANE: test
shell: /bin/bash --login -o pipefail
steps:
- checkout
- attach_workspace:
at: '.'
- run:
command: |
sh ./scripts/mac-signing.sh
- store_artifacts:
path: './dist'
destination: 'build/dist'
2021-03-18 02:52:26 +08:00
share-artifacts:
executor: aws-cli/default
steps:
- run:
command: |
PR=${CIRCLE_PULL_REQUEST##*/}
printf -v payload '{ "pullRequestNumber": "%s" }' "$PR"
curl -X POST "https://182c7jdgog.execute-api.us-east-1.amazonaws.com/prod/shareArtifacts" --data "$payload"
2018-02-02 07:05:39 +08:00
workflows:
version: 2
check:
2018-02-02 07:05:39 +08:00
jobs:
- 'deps':
filters:
tags:
only: /.*/
- 'test-go-1_15':
requires:
- 'deps'
filters:
tags:
only: /.*/
- 'test-go-1_15-386':
2018-10-20 02:01:31 +08:00
requires:
- 'deps'
filters:
tags:
only: /.*/
- 'test-go-1_16':
requires:
- 'deps'
filters:
tags:
only: /.*/
- 'test-go-1_16-386':
requires:
- 'deps'
filters:
tags:
only: /.*/
2021-03-17 03:23:44 +08:00
- 'test-go-mac':
2020-02-21 06:23:13 +08:00
filters:
tags: # only runs on tags if you specify this filter
only: /.*/
- 'test-go-windows':
filters:
tags:
only: /.*/
- 'package':
requires:
- 'test-go-windows'
2021-03-17 03:23:44 +08:00
- 'test-go-mac'
- 'test-go-1_15'
- 'test-go-1_15-386'
- 'test-go-1_16'
- 'test-go-1_16-386'
2021-03-18 02:52:26 +08:00
- 'share-artifacts':
requires:
- 'package'
filters:
branches:
ignore:
- master
2018-02-02 07:05:39 +08:00
- 'release':
requires:
- 'test-go-windows'
2021-03-17 03:23:44 +08:00
- 'test-go-mac'
- 'test-go-1_15'
- 'test-go-1_15-386'
- 'test-go-1_16'
- 'test-go-1_16-386'
filters:
tags:
only: /.*/
branches:
ignore: /.*/
- 'package-sign-windows':
requires:
- 'release'
filters:
tags:
only: /.*/
- 'package-sign-mac':
requires:
- 'package-sign-windows'
filters:
tags:
only: /.*/
2018-02-02 07:05:39 +08:00
nightly:
jobs:
- 'deps'
- 'test-go-1_15':
requires:
- 'deps'
- 'test-go-1_15-386':
2018-10-20 02:01:31 +08:00
requires:
- 'deps'
- 'test-go-1_16':
requires:
- 'deps'
- 'test-go-1_16-386':
requires:
- 'deps'
2021-03-17 03:23:44 +08:00
- 'test-go-mac'
- 'test-go-windows'
2018-02-03 04:29:54 +08:00
- 'nightly':
requires:
- 'test-go-windows'
2021-03-17 03:23:44 +08:00
- 'test-go-mac'
- 'test-go-1_15'
- 'test-go-1_15-386'
- 'test-go-1_16'
- 'test-go-1_16-386'
2018-02-02 07:05:39 +08:00
triggers:
- schedule:
2018-04-25 04:42:42 +08:00
cron: "0 7 * * *"
2018-02-02 07:05:39 +08:00
filters:
branches:
only:
- master