Build: Add CloudMode to build versions (#65651)

* Add CloudMode to build versions

* Use linux-amd64 variant without musl for cloud mode

* Add cloud mode to version folder on package upload

* Use musl variant for CloudMode

* Only sign rpm packages if there's any to sign

* Remove trailing whitespace
This commit is contained in:
Guilherme Caulada
2023-04-03 11:15:39 -03:00
committed by GitHub
parent 96e9e80739
commit 8f282b8a6e
5 changed files with 55 additions and 22 deletions

View File

@@ -184,30 +184,32 @@ func signRPMPackages(edition config.Edition, cfg config.Config, grafanaDir strin
return err
}
rpmArgs := append([]string{"--addsign"}, rpms...)
log.Printf("Invoking rpm with args: %+v", rpmArgs)
//nolint:gosec
cmd := exec.Command("rpm", rpmArgs...)
if output, err := cmd.CombinedOutput(); err != nil {
return fmt.Errorf("failed to sign RPM packages: %s", output)
}
if err := os.Remove(cfg.GPGPassPath); err != nil {
return fmt.Errorf("failed to remove %q: %w", cfg.GPGPassPath, err)
}
log.Printf("Verifying %s RPM packages...", edition)
// The output changed between rpm versions
reOutput := regexp.MustCompile("(?:digests signatures OK)|(?:pgp.+OK)")
for _, p := range rpms {
if len(rpms) > 0 {
rpmArgs := append([]string{"--addsign"}, rpms...)
log.Printf("Invoking rpm with args: %+v", rpmArgs)
//nolint:gosec
cmd := exec.Command("rpm", "-K", p)
output, err := cmd.CombinedOutput()
if err != nil {
return fmt.Errorf("failed to verify RPM signature: %w", err)
cmd := exec.Command("rpm", rpmArgs...)
if output, err := cmd.CombinedOutput(); err != nil {
return fmt.Errorf("failed to sign RPM packages: %s", output)
}
if err := os.Remove(cfg.GPGPassPath); err != nil {
return fmt.Errorf("failed to remove %q: %w", cfg.GPGPassPath, err)
}
if !reOutput.Match(output) {
return fmt.Errorf("RPM package %q not verified: %s", p, output)
log.Printf("Verifying %s RPM packages...", edition)
// The output changed between rpm versions
reOutput := regexp.MustCompile("(?:digests signatures OK)|(?:pgp.+OK)")
for _, p := range rpms {
//nolint:gosec
cmd := exec.Command("rpm", "-K", p)
output, err := cmd.CombinedOutput()
if err != nil {
return fmt.Errorf("failed to verify RPM signature: %w", err)
}
if !reOutput.Match(output) {
return fmt.Errorf("RPM package %q not verified: %s", p, output)
}
}
}