Files
Kevin Minehart 13f4cf162e CI: move grafana-build into pkg/build (#105640)
* move grafana-build into pkg/build
2025-05-20 10:48:00 -05:00

46 lines
1.3 KiB
Go

package packages
import (
"fmt"
"strings"
"github.com/grafana/grafana/pkg/build/daggerbuild/backend"
)
type Name string
const (
PackageGrafana Name = "grafana"
PackageEnterprise Name = "grafana-enterprise"
PackageEnterpriseBoring Name = "grafana-enterprise-boringcrypto"
PackagePro Name = "grafana-pro"
PackageNightly Name = "grafana-nightly"
)
type NameOpts struct {
// Name is the name of the product in the package. 99% of the time, this will be "grafana" or "grafana-enterprise".
Name Name
Version string
BuildID string
Distro backend.Distribution
Extension string
}
// FileName returns a file name that matches this format: {grafana|grafana-enterprise}_{version}_{os}_{arch}_{build_number}.tar.gz
func FileName(name Name, version, buildID string, distro backend.Distribution, extension string) (string, error) {
var (
// This should return something like "linux", "arm"
os, arch = backend.OSAndArch(distro)
// If applicable this will be set to something like "7" (for arm7)
archv = backend.ArchVersion(distro)
)
if archv != "" {
arch = strings.Join([]string{arch, archv}, "-")
}
p := []string{string(name), version, buildID, os, arch}
return fmt.Sprintf("%s.%s", strings.Join(p, "_"), extension), nil
}