rrcc/.drone.jsonnet

53 lines
1.6 KiB
JavaScript

local Pipeline(image, version, arch, depinstall, extra) = {
kind: "pipeline",
type: "docker",
name: image+"-"+version+"-"+arch,
platform: {
os: "linux",
arch: arch
},
steps: [
{
name: "build",
image: image+":"+version,
commands: [
depinstall+" cmake make gcc "+extra,
"mkdir build",
"cd build",
"cmake ..",
"make -j $(nproc)"
]
}
]
};
local AptPipeline(image, version, arch, extra="") = Pipeline(image, version, arch, "apt update && DEBIAN_FRONTEND=noninteractive apt install -y", extra);
local PacManPipeline(image, version, arch, extra="") = Pipeline(image, version, arch, "pacman -Syy && pacman --noconfirm -S", extra);
local ApkPipeline(image, version, arch, extra="") = Pipeline(image, version, arch, "apk add --update gcc musl-dev", extra);
local YumPipeline(image, version, arch, extra="") = Pipeline(image, version, arch, "yum install -y", extra);
local XbpsPipeline(image, version, arch, extra="") = Pipeline(image, version, arch, "xbps-install -Sy", extra);
[
AptPipeline("ubuntu", "20.04", "amd64", "g++"),
AptPipeline("ubuntu", "20.04", "arm64", "g++"),
AptPipeline("debian", "bullseye", "amd64", "g++"),
AptPipeline("debian", "bullseye", "arm64", "g++"),
AptPipeline("debian", "buster", "amd64", "g++"),
YumPipeline("fedora", "latest", "amd64", "g++"),
YumPipeline("fedora", "latest", "arm64", "g++"),
PacManPipeline("archlinux", "latest", "amd64"),
ApkPipeline("alpine", "latest", "amd64", "g++"),
ApkPipeline("alpine", "latest", "arm64", "g++"),
XbpsPipeline("voidlinux/voidlinux", "latest", "amd64"),
]