build.yml: route 4 fourier-debian jobs to debian-aarch64 (bohr) #47

Merged
marfrit merged 3 commits from fix/fourier-debian-runners-2026-05-20 into main 2026-05-20 14:39:44 +00:00

3 Commits

Author SHA1 Message Date
marfrit 7570d2daab check-already-published.sh: use dpkg vercmp for debian (skip when pool >= source)
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.
2026-05-20 16:37:30 +02:00
marfrit dfdee75668 debian/*/build-deb.sh: add curl timeouts (10s connect, 600s total, 3 retries)
Without timeouts, a slow/dead-TCP upstream (e.g. github tarballs)
hangs the runner indefinitely.  Today run 15185 mpv-fourier-debian
sat 6+ min on "curl -sSLfo mpv.tar.gz https://github.com/.../mpv-0.41.0.tar.gz"
with no progress visible — fermis act_runner blocked, slot unusable
for parallel work.

--connect-timeout 10  fails fast if upstream is unreachable
--max-time 600        caps worst-case at 10 min per fetch
--retry 3             handles transient flakes
--retry-delay 5       gives transient outages a moment

Patched in: claude-his-agent, daedalus-v4l2, daedalus-v4l2-dkms,
libva-v4l2-request-fourier, lmcp, mpv-fourier.  ffmpeg-v4l2-request-fourier
has no curl call.
2026-05-20 16:32:36 +02:00
marfrit 8cf0efd9ee build.yml: route 4 fourier-debian jobs to debian-aarch64 (bohr)
Native trixie execution avoids the cross-distro ABI skew issues we
hit when building libva-v4l2-request-fourier-debian on Arch (PR #44):
__vaDriverInit_1_23 vs trixies libva 2.22 binding. The same hazard
applies to other fourier-debian jobs that link against debian libs.

Jobs moved from runs-on: arch-aarch64 -> debian-aarch64:
- ffmpeg-v4l2-request-debian
- mpv-fourier-debian
- daedalus-v4l2-debian
- daedalus-v4l2-dkms-debian

Left alone (arch=all, no native compile against debian libs):
- lmcp-debian
- claude-his-debian

Depends on PR #46 (runs-on uses bohrs LABEL, not runner-name).
2026-05-20 15:57:18 +02:00