build.yml: route 4 fourier-debian jobs to debian-aarch64 (bohr) #47
Reference in New Issue
Block a user
Delete Branch "fix/fourier-debian-runners-2026-05-20"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes task #134 work.
PR #44 showed the cross-distro ABI hazard for
libva-v4l2-request-fourier-debian: building on Arch (libva 2.23) produced__vaDriverInit_1_23, which trixies libva 2.22 runtime cant bind. Same hazard applies to other fourier-debian jobs that link against debian-native libs.Moved from runs-on: arch-aarch64 → debian-aarch64:
Left alone (arch=all, no native compile against debian libs):
Depends on PR #46 (label vs name fix) being merged so
debian-aarch64actually routes to bohr.Old logic curl-HEAD-checked an exact pkgname_pkgver-pkgrel_arch.deb URL. That breaks when source PKGREL has rolled back below pools current head: reprepro rejects the lower-version upload but our exact-URL check still 404s, so CI rebuilds the package on EVERY push without ever updating the pool — endless rebuild trap. New logic parses the canonical Packages index (what apt consults) and uses dpkg --compare-versions to skip iff pool >= source. Pool view today: - ffmpeg-v4l2-request-fourier: pool=2:8.1+rfourier+gb57fbbe-4 vs source=2:8.1+rfourier+gb57fbbe-2 4 >= 2 → skip (was: 404 → rebuild) - mpv-fourier: pool=1:0.41.0+rfourier-3 vs source=1:0.41.0+rfourier-1 3 >= 1 → skip (was: 404 → rebuild) set +o pipefail before the curl|awk pipeline — awks early `exit` closes the pipe, curl gets SIGPIPE and returns 23 ("Failure writing output"), which under our pipefail/-e header aborts the script with empty pool_ver. Localised pipefail-off keeps the global -euo behaviour elsewhere.