A => alpine/build.yml +48 -0
@@ 1,48 @@
+image: alpine/edge
+packages:
+ - e2fsprogs
+ - qemu-img
+ - qemu-system-x86_64
+ - rsync
+ - sfdisk
+sources:
+ - https://git.sr.ht/~sircmpwn/builds.sr.ht
+environment:
+ arch: x86_64
+ release: edge
+ slaves:
+ - deploy@xenrox.net
+secrets:
+ - 6f4391b6-9dd6-44fa-b274-53aa897e41f0
+triggers:
+ - action: email
+ condition: failure
+ to: Thorben Günther <admin@xenrox.net>
+tasks:
+ - genimg: |
+ cd builds.sr.ht/images/alpine/$release
+ sudo ./genimg $arch
+ - kvm: |
+ if grep -i amd /proc/cpuinfo
+ then
+ sudo modprobe kvm_amd
+ else
+ sudo modprobe kvm_intel
+ fi
+ sleep 1
+ sudo chown build:build /dev/kvm
+ - sanity-check: |
+ cd builds.sr.ht
+ MEMORY=1024 ./images/control alpine/$release sanity-check
+ - deploy: |
+ cd builds.sr.ht/images/alpine/$release
+ echo "StrictHostKeyChecking=no" >> ~/.ssh/config
+ for server in "${slaves[@]}"
+ do
+ ssh $server mkdir -p /var/lib/images/alpine/$release/$arch
+ rsync -rzzP $arch/root.img.qcow2 \
+ ${server}:/var/lib/images/alpine/$release/$arch/new_root.img.qcow2
+ ssh $server \
+ mv /var/lib/images/alpine/$release/$arch/new_root.img.qcow2 \
+ /var/lib/images/alpine/$release/$arch/root.img.qcow2
+ done
A => archlinux/build.yml +44 -0
@@ 1,44 @@
+image: archlinux
+packages:
+ - arch-install-scripts
+ - qemu-headless
+ - procps-ng
+ - rsync
+ - reflector
+ - syslinux
+sources:
+ - https://git.sr.ht/~sircmpwn/builds.sr.ht
+environment:
+ arch: x86_64
+ slaves:
+ - deploy@xenrox.net
+secrets:
+ - 6f4391b6-9dd6-44fa-b274-53aa897e41f0
+triggers:
+ - action: email
+ condition: failure
+ to: Thorben Günther <admin@xenrox.net>
+tasks:
+ - genimg: |
+ cd builds.sr.ht/images/archlinux
+ sudo sed -e 's/IgnorePkg.*/#IgnorePkg/' -i /etc/pacman.conf
+ sudo ./genimg
+ - sanity-check: |
+ cd builds.sr.ht
+ if [ -e /dev/kvm ]
+ then
+ MEMORY=1024 ./images/control archlinux sanity-check
+ else
+ echo "KVM unavailable, skipping sanity check"
+ fi
+ - deploy: |
+ cd builds.sr.ht/images/archlinux
+ echo "StrictHostKeyChecking=no" >> ~/.ssh/config
+ for server in "${slaves[@]}"
+ do
+ rsync -rzzP $arch/root.img.qcow2 \
+ ${server}:/var/lib/images/archlinux/root.img.qcow2-new
+ ssh $server \
+ mv /var/lib/images/archlinux/root.img.qcow2-new \
+ /var/lib/images/archlinux/$arch/root.img.qcow2
+ done