CI: For community supported riscv64 builds use musl-cross instead of zig for… (#109931)

Community supported riscv64 builds: use musl-cross instead of zig for build
This commit is contained in:
Kevin Minehart
2025-08-20 16:59:07 +00:00
committed by GitHub
parent 24a3a4c7dc
commit 4adbab1571
2 changed files with 20 additions and 2 deletions
+3 -1
View File
@@ -106,7 +106,9 @@ func GolangContainer(
WithExec([]string{"wget", "-q", "http://dl.grafana.com/ci/arm-linux-musleabihf-cross.tgz", "-P", "/toolchain"}).
WithExec([]string{"tar", "-xf", "/toolchain/arm-linux-musleabihf-cross.tgz", "-C", "/toolchain"}).
WithExec([]string{"wget", "-q", "https://dl.grafana.com/ci/s390x-linux-musl-cross.tgz", "-P", "/toolchain"}).
WithExec([]string{"tar", "-xf", "/toolchain/s390x-linux-musl-cross.tgz", "-C", "/toolchain"})
WithExec([]string{"tar", "-xf", "/toolchain/s390x-linux-musl-cross.tgz", "-C", "/toolchain"}).
WithExec([]string{"wget", "-q", "https://dl.grafana.com/ci/riscv64-linux-musl-cross.tgz", "-P", "/toolchain"}).
WithExec([]string{"tar", "-xf", "/toolchain/riscv64-linux-musl-cross.tgz", "-C", "/toolchain"})
return WithGoEnv(log, container, distro, opts)
}
+17 -1
View File
@@ -264,6 +264,22 @@ func BuildOptsStaticS390X(distro Distribution, experiments []string, tags []stri
}
}
// BuildOptsStaticS390X builds Grafana statically for the s390x arch
func BuildOptsStaticRiscv64(distro Distribution, experiments []string, tags []string) *GoBuildOpts {
var (
os, _ = OSAndArch(distro)
)
return &GoBuildOpts{
CC: "/toolchain/riscv64-linux-musl-cross/bin/riscv64-linux-musl-gcc",
CXX: "/toolchain/riscv64-linux-musl-cross/bin/riscv64-linux-musl-cpp",
ExperimentalFlags: experiments,
OS: os,
Arch: "riscv64",
CGOEnabled: true,
}
}
func StdZigBuildOpts(distro Distribution, experiments []string, tags []string) *GoBuildOpts {
var (
os, arch = OSAndArch(distro)
@@ -331,7 +347,7 @@ var DistributionGoOpts = map[Distribution]DistroBuildOptsFunc{
DistLinuxAMD64: StdZigBuildOpts,
DistLinuxAMD64Dynamic: StdZigBuildOpts,
DistPlan9AMD64: StdZigBuildOpts,
DistLinuxRISCV64: StdZigBuildOpts,
DistLinuxRISCV64: BuildOptsStaticRiscv64,
// Non-Linux distros can have whatever they want in CC and CXX; it'll get overridden
// but it's probably not best to rely on that.