Speed up package step by running in parallel. (#9096)

* test

* more test

* Updated config.yml

* Updated config.yml

* Updated config.yml

* Update Makefile

* Update Makefile

* Update Makefile

* Update Makefile

* Updated config.yml

* Updated config.yml

* Updated config.yml

* Updated config.yml

* Updated config.yml

* Updated config.yml

* Updated config.yml

* Updated config.yml
This commit is contained in:
David Bennett 2021-04-21 13:32:34 -04:00 committed by GitHub
parent f39d68d1fa
commit ad942052f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 102 additions and 12 deletions

View File

@ -47,25 +47,35 @@ commands:
- run: 'GOARCH=<< parameters.goarch >> make check' - run: 'GOARCH=<< parameters.goarch >> make check'
- run: 'GOARCH=<< parameters.goarch >> make check-deps' - run: 'GOARCH=<< parameters.goarch >> make check-deps'
- run: 'GOARCH=<< parameters.goarch >> make test' - run: 'GOARCH=<< parameters.goarch >> make test'
package: package-build:
parameters: parameters:
release:
type: boolean
default: false
nightly: nightly:
type: boolean type: boolean
default: false default: false
type:
type: string
default: ""
steps: steps:
- checkout - checkout
- check-changed-files-or-halt - check-changed-files-or-halt
- attach_workspace: - attach_workspace:
at: '/go' at: '/go'
- when:
condition: << parameters.release >>
steps:
- run: 'debian=1 centos=1 mac=1 freebsd=1 linux=1 windows=1 make package'
- when: - when:
condition: << parameters.nightly >> condition: << parameters.nightly >>
steps: steps:
- run: 'NIGHTLY=1 make package' - run: 'debian=1 centos=1 mac=1 freebsd=1 linux=1 windows=1 NIGHTLY=1 make package'
- run: 'make upload-nightly' - run: 'make upload-nightly'
- unless: - unless:
condition: << parameters.nightly >> condition: << parameters.nightly >>
steps: steps:
- run: 'make package' - run: '<< parameters.type >>=1 make package'
- store_artifacts: - store_artifacts:
path: './build/dist' path: './build/dist'
destination: 'build/dist' destination: 'build/dist'
@ -142,19 +152,57 @@ jobs:
- run: git config --system core.longpaths true - run: git config --system core.longpaths true
- run: make test-windows - run: make test-windows
package: windows-package:
executor: go-1_16 executor: go-1_16
steps: steps:
- package - package-build:
type: windows
debian-package:
executor: go-1_16
steps:
- package-build:
type: debian
centos-package:
executor: go-1_16
steps:
- package-build:
type: centos
mac-package:
executor: go-1_16
steps:
- package-build:
type: mac
freebsd-package:
executor: go-1_16
steps:
- package-build:
type: freebsd
linux-package:
executor: go-1_16
steps:
- package-build:
type: linux
release: release:
executor: go-1_16 executor: go-1_16
steps: steps:
- package - package-build:
release: true
nightly: nightly:
executor: go-1_16 executor: go-1_16
steps: steps:
- package: - package-build:
nightly: true nightly: true
package-consolidate:
executor:
name: win/default
shell: powershell.exe
steps:
- attach_workspace:
at: '/build'
- store_artifacts:
path: './build/dist'
destination: 'build/dist'
package-sign-windows: package-sign-windows:
executor: executor:
name: win/default name: win/default
@ -195,6 +243,12 @@ jobs:
- store_artifacts: - store_artifacts:
path: './dist' path: './dist'
destination: 'build/dist' destination: 'build/dist'
test-awaiter:
executor: go-1_16
steps:
- run:
command: |
echo "Go tests complete."
share-artifacts: share-artifacts:
executor: aws-cli/default executor: aws-cli/default
steps: steps:
@ -244,17 +298,38 @@ workflows:
filters: filters:
tags: tags:
only: /.*/ only: /.*/
- 'package': - 'test-awaiter':
requires: requires:
- 'test-go-windows'
- 'test-go-mac'
- 'test-go-1_15' - 'test-go-1_15'
- 'test-go-1_15-386' - 'test-go-1_15-386'
- 'test-go-1_16' - 'test-go-1_16'
- 'test-go-1_16-386' - 'test-go-1_16-386'
- 'windows-package':
requires:
- 'test-go-windows'
- 'debian-package':
requires:
- 'test-awaiter'
- 'centos-package':
requires:
- 'test-awaiter'
- 'mac-package':
requires:
- 'test-go-mac'
- 'freebsd-package':
requires:
- 'test-awaiter'
- 'linux-package':
requires:
- 'test-awaiter'
- 'share-artifacts': - 'share-artifacts':
requires: requires:
- 'package' - 'linux-package'
- 'freebsd-package'
- 'mac-package'
- 'centos-package'
- 'debian-package'
- 'windows-package'
filters: filters:
branches: branches:
ignore: ignore:
@ -284,6 +359,7 @@ workflows:
filters: filters:
tags: tags:
only: /.*/ only: /.*/
nightly: nightly:
jobs: jobs:
- 'deps' - 'deps'

View File

@ -228,6 +228,7 @@ $(buildbin):
@mkdir -pv $(dir $@) @mkdir -pv $(dir $@)
go build -o $(dir $@) -ldflags "$(LDFLAGS)" ./cmd/telegraf go build -o $(dir $@) -ldflags "$(LDFLAGS)" ./cmd/telegraf
ifdef debian
debs := telegraf_$(deb_version)_amd64.deb debs := telegraf_$(deb_version)_amd64.deb
debs += telegraf_$(deb_version)_arm64.deb debs += telegraf_$(deb_version)_arm64.deb
debs += telegraf_$(deb_version)_armel.deb debs += telegraf_$(deb_version)_armel.deb
@ -237,7 +238,9 @@ debs += telegraf_$(deb_version)_mips.deb
debs += telegraf_$(deb_version)_mipsel.deb debs += telegraf_$(deb_version)_mipsel.deb
debs += telegraf_$(deb_version)_s390x.deb debs += telegraf_$(deb_version)_s390x.deb
debs += telegraf_$(deb_version)_ppc64el.deb debs += telegraf_$(deb_version)_ppc64el.deb
endif
ifdef centos
rpms += telegraf-$(rpm_version).aarch64.rpm rpms += telegraf-$(rpm_version).aarch64.rpm
rpms += telegraf-$(rpm_version).armel.rpm rpms += telegraf-$(rpm_version).armel.rpm
rpms += telegraf-$(rpm_version).armv6hl.rpm rpms += telegraf-$(rpm_version).armv6hl.rpm
@ -245,10 +248,18 @@ rpms += telegraf-$(rpm_version).i386.rpm
rpms += telegraf-$(rpm_version).s390x.rpm rpms += telegraf-$(rpm_version).s390x.rpm
rpms += telegraf-$(rpm_version).ppc64le.rpm rpms += telegraf-$(rpm_version).ppc64le.rpm
rpms += telegraf-$(rpm_version).x86_64.rpm rpms += telegraf-$(rpm_version).x86_64.rpm
endif
ifdef mac
tars += telegraf-$(tar_version)_darwin_amd64.tar.gz tars += telegraf-$(tar_version)_darwin_amd64.tar.gz
endif
ifdef freebsd
tars += telegraf-$(tar_version)_freebsd_amd64.tar.gz tars += telegraf-$(tar_version)_freebsd_amd64.tar.gz
tars += telegraf-$(tar_version)_freebsd_i386.tar.gz tars += telegraf-$(tar_version)_freebsd_i386.tar.gz
endif
ifdef linux
tars += telegraf-$(tar_version)_linux_amd64.tar.gz tars += telegraf-$(tar_version)_linux_amd64.tar.gz
tars += telegraf-$(tar_version)_linux_arm64.tar.gz tars += telegraf-$(tar_version)_linux_arm64.tar.gz
tars += telegraf-$(tar_version)_linux_armel.tar.gz tars += telegraf-$(tar_version)_linux_armel.tar.gz
@ -259,9 +270,12 @@ tars += telegraf-$(tar_version)_linux_mipsel.tar.gz
tars += telegraf-$(tar_version)_linux_s390x.tar.gz tars += telegraf-$(tar_version)_linux_s390x.tar.gz
tars += telegraf-$(tar_version)_linux_ppc64le.tar.gz tars += telegraf-$(tar_version)_linux_ppc64le.tar.gz
tars += telegraf-$(tar_version)_static_linux_amd64.tar.gz tars += telegraf-$(tar_version)_static_linux_amd64.tar.gz
endif
ifdef windows
zips += telegraf-$(tar_version)_windows_amd64.zip zips += telegraf-$(tar_version)_windows_amd64.zip
zips += telegraf-$(tar_version)_windows_i386.zip zips += telegraf-$(tar_version)_windows_i386.zip
endif
dists := $(debs) $(rpms) $(tars) $(zips) dists := $(debs) $(rpms) $(tars) $(zips)