pipeline { agent any stages { stage('Clone package source') { steps { sh 'echo "Repo: ${env.GIT_URL}"' sh 'git clone ${env.GIT_URL} src' } } stage('Build in chroot') { steps { sh ''' docker run --rm -i \ -v $PWD/src:/home/builder/pkg \ -v $PWD/builds:/home/builder/builds \ archlinux:latest bash -c " pacman -Syu --noconfirm base-devel git sudo devtools && \ useradd -m builder && \ echo 'builder ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/builder && \ chown -R builder:builder /home/builder/pkg /home/builder/builds && \ su builder -c ' cd /home/builder/pkg && \ extra-x86_64-build -- -c ' " ''' } } } post { always { archiveArtifacts artifacts: 'builds/**/*.pkg.tar.zst', allowEmptyArchive: true } } }