local Pipeline(image, version, arch, extra, depinstall, buildKernel) = { kind: "pipeline", type: "docker", name: image+"-"+version+"-"+arch, platform: { os: "linux", arch: arch }, steps: [ { name: "build", image: image+":"+version, commands: [ depinstall+" make gcc "+extra, "cd src", "make clean BUILD_KERNEL=\"$("+buildKernel+")\"", "make -j $(nproc) CONFIG_UIO=1 BUILD_KERNEL=\"$("+buildKernel+")\"" ] } ] }; local AptPipeline(image, version, arch, extra, buildKernel) = Pipeline(image, version, arch, extra, "apt update && DEBIAN_FRONTEND=noninteractive apt install -y", buildKernel); local PacManPipeline(image, version, arch, extra, buildKernel) = Pipeline(image, version, arch, extra, "pacman -Syy && pacman --noconfirm -S", buildKernel); local ApkPipeline(image, version, arch, extra, buildKernel) = Pipeline(image, version, arch, extra, "apk add --update gcc musl-dev", buildKernel); local YumPipeline(image, version, arch, extra, buildKernel) = Pipeline(image, version, arch, extra, "yum install -y", buildKernel); local XbpsPipeline(image, version, arch, extra, buildKernel) = Pipeline(image, version, arch, extra, "xbps-install -Sy", buildKernel); [ AptPipeline("ubuntu", "20.04", "amd64", "linux-headers-generic", "ls --sort time /lib/modules/ | head -n 1"), AptPipeline("ubuntu", "20.04", "arm64", "linux-headers-generic", "ls --sort time /lib/modules/ | head -n 1"), AptPipeline("debian", "bullseye", "amd64", "linux-headers-amd64", "ls --sort time /lib/modules/ | head -n 1"), AptPipeline("debian", "bullseye", "arm64", "linux-headers-arm64", "ls --sort time /lib/modules/ | head -n 1"), AptPipeline("debian", "buster", "amd64", "linux-headers-amd64", "ls --sort time /lib/modules/ | head -n 1"), AptPipeline("debian", "stretch", "amd64", "linux-headers-amd64", "ls --sort time /lib/modules/ | head -n 1"), AptPipeline("debian", "jessie", "amd64", "linux-headers-amd64", "ls --sort time /lib/modules/ | head -n 1"), YumPipeline("fedora", "latest", "amd64", "kernel-devel kernel-headers", "ls --sort time /usr/src/kernels/ | head -n 1"), YumPipeline("fedora", "latest", "arm64", "kernel-devel kernel-headers", "ls --sort time /usr/src/kernels/ | head -n 1"), PacManPipeline("archlinux", "latest", "amd64", "linux-headers libffi", "ls --sort time /lib/modules/ | head -n 1"), ApkPipeline("alpine", "latest", "amd64", "linux-headers linux-lts-dev", "ls -t /lib/modules/ | head -n 1"), ApkPipeline("alpine", "latest", "arm64", "linux-headers linux-lts-dev", "ls -t /lib/modules/ | head -n 1"), XbpsPipeline("voidlinux/voidlinux", "latest", "amd64", "linux-headers", "ls --sort time /lib/modules/ | head -n 1") ]