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"), ]