From 315837bca963871d435d3cd039b681e495d08152 Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Wed, 8 Jan 2020 10:48:47 +0100 Subject: [PATCH] Fix mage package on generated beats (#15140) Mage package calls some targets by name (instead of by reference), and then these targets need to be defined in the main magefile. Add mage package to the test suite so we earlier detect these issues. --- .travis.yml | 4 ++-- Jenkinsfile | 4 ++-- generator/beat/{beat}/magefile.go | 11 +++++++++++ generator/common/Makefile | 6 ++++++ generator/metricbeat/{beat}/magefile.go | 11 +++++++++++ 5 files changed, 32 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index cab8072bf30..48eb2589249 100644 --- a/.travis.yml +++ b/.travis.yml @@ -148,11 +148,11 @@ jobs: # Generators - os: linux - env: TARGETS="-C generator/metricbeat test" + env: TARGETS="-C generator/metricbeat test test-package" go: $TRAVIS_GO_VERSION stage: test - os: linux - env: TARGETS="-C generator/beat test" + env: TARGETS="-C generator/beat test test-package" go: $TRAVIS_GO_VERSION stage: test diff --git a/Jenkinsfile b/Jenkinsfile index 8bb8c1b97c9..89753eec3e2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -424,14 +424,14 @@ pipeline { stage('Generators Metricbeat Linux'){ steps { withBeatsEnv(){ - makeTarget("Generators Metricbeat Linux", "-C generator/metricbeat test") + makeTarget("Generators Metricbeat Linux", "-C generator/metricbeat test test-package") } } } stage('Generators Beat Linux'){ steps { withBeatsEnv(){ - makeTarget("Generators Beat Linux", "-C generator/beat test") + makeTarget("Generators Beat Linux", "-C generator/beat test test-package") } } } diff --git a/generator/beat/{beat}/magefile.go b/generator/beat/{beat}/magefile.go index 4b590f9ee3a..609c191e396 100644 --- a/generator/beat/{beat}/magefile.go +++ b/generator/beat/{beat}/magefile.go @@ -89,3 +89,14 @@ func Build() error { func CrossBuild() error { return build.CrossBuild() } + +// BuildGoDaemon builds the go-daemon binary (use crossBuildGoDaemon). +func BuildGoDaemon() error { + return build.BuildGoDaemon() +} + +// GolangCrossBuild build the Beat binary inside of the golang-builder. +// Do not use directly, use crossBuild instead. +func GolangCrossBuild() error { + return build.GolangCrossBuild() +} diff --git a/generator/common/Makefile b/generator/common/Makefile index a0740683606..d19c6e73778 100644 --- a/generator/common/Makefile +++ b/generator/common/Makefile @@ -16,6 +16,12 @@ test: prepare-test $(MAKE) || exit 1 ; \ $(MAKE) unit +.PHONY: test-package +test-package: test + cd ${BEAT_PATH} ; \ + export PATH=$${GOPATH}/bin:$${PATH}; \ + mage package + .PHONY: prepare-test prepare-test:: ${GOPATH}/bin/mage rm -fr ${BEAT_PATH} diff --git a/generator/metricbeat/{beat}/magefile.go b/generator/metricbeat/{beat}/magefile.go index 5b1521a1c80..eada92dcd4c 100644 --- a/generator/metricbeat/{beat}/magefile.go +++ b/generator/metricbeat/{beat}/magefile.go @@ -124,3 +124,14 @@ func Build() error { func CrossBuild() error { return build.CrossBuild() } + +// BuildGoDaemon builds the go-daemon binary (use crossBuildGoDaemon). +func BuildGoDaemon() error { + return build.BuildGoDaemon() +} + +// GolangCrossBuild build the Beat binary inside of the golang-builder. +// Do not use directly, use crossBuild instead. +func GolangCrossBuild() error { + return build.GolangCrossBuild() +}