Skip to content

Commit

Permalink
Leverage the use of PLATFORMS when selecting required packages for agent
Browse files Browse the repository at this point in the history
  • Loading branch information
jsoriano committed Aug 17, 2020
1 parent d7933ff commit 38085a8
Showing 1 changed file with 33 additions and 19 deletions.
52 changes: 33 additions & 19 deletions x-pack/elastic-agent/magefile.go
Original file line number Diff line number Diff line change
Expand Up @@ -272,14 +272,30 @@ func Package() {
start := time.Now()
defer func() { fmt.Println("package ran for", time.Since(start)) }()

packageAgent([]string{
"darwin-x86_64.tar.gz",
"linux-x86.tar.gz",
"linux-x86_64.tar.gz",
"windows-x86.zip",
"windows-x86_64.zip",
"linux-arm64.tar.gz",
}, devtools.UseElasticAgentPackaging)
platformPackages := []struct {
platform string
packages string
}{
{"darwin/amd64", "darwin-x86_64.tar.gz"},
{"linux/386", "linux-x86.tar.gz"},
{"linux/amd64", "linux-x86_64.tar.gz"},
{"linux/arm64", "linux-arm64.tar.gz"},
{"windows/386", "windows-x86.zip"},
{"windows/amd64", "windows-x86_64.zip"},
}

var requiredPackages []string
for _, p := range platformPackages {
if _, enabled := devtools.Platforms.Get(p.platform); enabled {
requiredPackages = append(requiredPackages, p.packages)
}
}

if len(requiredPackages) == 0 {
panic("elastic-agent package is expected to include other packages")
}

packageAgent(requiredPackages, devtools.UseElasticAgentPackaging)
}

func requiredPackagesPresent(basePath, beat, version string, requiredPackages []string) bool {
Expand Down Expand Up @@ -531,18 +547,16 @@ func packageAgent(requiredPackages []string, packagingFn func()) {
panic(err)
}

if requiredPackagesPresent(pwd, b, version, requiredPackages) {
continue
}
if !requiredPackagesPresent(pwd, b, version, requiredPackages) {
cmd := exec.Command("mage", "package")
cmd.Dir = pwd
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
cmd.Env = append(os.Environ(), fmt.Sprintf("PWD=%s", pwd), "AGENT_PACKAGING=on")

cmd := exec.Command("mage", "package")
cmd.Dir = pwd
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
cmd.Env = append(os.Environ(), fmt.Sprintf("PWD=%s", pwd), "AGENT_PACKAGING=on")

if err := cmd.Run(); err != nil {
panic(err)
if err := cmd.Run(); err != nil {
panic(err)
}
}

// copy to new drop
Expand Down

0 comments on commit 38085a8

Please sign in to comment.