ci: wire debian builds for 5 fourier recipes (#34)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 2m7s
build and publish packages / lmcp-any (push) Successful in 25s
build and publish packages / lmcp-debian (push) Successful in 12s
build and publish packages / claude-his-any (push) Successful in 25s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 47m13s
build and publish packages / claude-his-debian (push) Successful in 13s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 41s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 47m46s
build and publish packages / daedalus-v4l2-debian (push) Failing after 49s
build and publish packages / daedalus-v4l2-dkms-debian (push) Has been skipped
build and publish packages / mpv-fourier-aarch64 (push) Successful in 2m23s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 45s
build and publish packages / mpv-fourier-debian (push) Failing after 3m45s
build and publish packages / distcc-avahi-aarch64 (push) Successful in 2m7s
build and publish packages / lmcp-any (push) Successful in 25s
build and publish packages / lmcp-debian (push) Successful in 12s
build and publish packages / claude-his-any (push) Successful in 25s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 47m13s
build and publish packages / claude-his-debian (push) Successful in 13s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 41s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 47m46s
build and publish packages / daedalus-v4l2-debian (push) Failing after 49s
build and publish packages / daedalus-v4l2-dkms-debian (push) Has been skipped
build and publish packages / mpv-fourier-aarch64 (push) Successful in 2m23s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 45s
build and publish packages / mpv-fourier-debian (push) Failing after 3m45s
This commit was merged in pull request #34.
This commit is contained in:
@@ -784,3 +784,287 @@ jobs:
|
||||
- name: wipe secrets
|
||||
if: always()
|
||||
run: rm -f /root/.ssh/id_ed25519_hertz
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# ffmpeg-v4l2-request-fourier Debian (aarch64) — debian/<pkg>/build-deb.sh
|
||||
# builds the Kwiboo FFmpeg fork natively on the arch-aarch64 runner using
|
||||
# the arch toolchain + system libs, then dpkg-deb's the result. Resulting
|
||||
# .deb is rsynced to hertz; reprepro publishes into bookworm + trixie.
|
||||
# -------------------------------------------------------------------------
|
||||
ffmpeg-v4l2-request-debian:
|
||||
needs: ffmpeg-v4l2-request-aarch64
|
||||
runs-on: arch-aarch64
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: install build-deps (Arch pkg names; build-deb.sh links natively)
|
||||
run: |
|
||||
set -e
|
||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||
retry pacman -Syu --noconfirm --needed \
|
||||
dpkg openssh rsync curl base-devel git nasm yasm \
|
||||
linux-api-headers mesa alsa-lib bzip2 fontconfig fribidi gmp \
|
||||
gnutls lame libass dav1d libdrm freetype2 libpulse libva \
|
||||
libvorbis libvpx libwebp x264 x265 libxml2 opus v4l-utils xz zlib
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_HERTZ_KEY }}
|
||||
run: |
|
||||
mkdir -m700 -p /root/.ssh
|
||||
printf '%s\n' "$KEY" > /root/.ssh/id_ed25519_hertz
|
||||
chmod 600 /root/.ssh/id_ed25519_hertz
|
||||
ssh-keyscan -t ed25519 hertz.fritz.box >> /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: build ffmpeg-v4l2-request-fourier .deb
|
||||
run: |
|
||||
set -e
|
||||
cd debian/ffmpeg-v4l2-request-fourier
|
||||
./build-deb.sh
|
||||
ls -la *.deb
|
||||
|
||||
- name: upload + publish to suites
|
||||
run: |
|
||||
set -e
|
||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||
cd debian/ffmpeg-v4l2-request-fourier
|
||||
DEB=$(ls ffmpeg-v4l2-request-fourier_*.deb | head -1)
|
||||
retry rsync -av -e 'ssh -i /root/.ssh/id_ed25519_hertz' "$DEB" \
|
||||
marfritrepo@hertz.fritz.box:
|
||||
for suite in bookworm trixie; do
|
||||
retry ssh -i /root/.ssh/id_ed25519_hertz marfritrepo@hertz.fritz.box \
|
||||
"publish-deb $suite $DEB"
|
||||
done
|
||||
|
||||
- name: wipe secrets
|
||||
if: always()
|
||||
run: rm -f /root/.ssh/id_ed25519_hertz
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# libva-v4l2-request-fourier Debian (aarch64) — meson build + dpkg-deb wrap.
|
||||
# -------------------------------------------------------------------------
|
||||
libva-v4l2-request-fourier-debian:
|
||||
needs: libva-v4l2-request-fourier-aarch64
|
||||
runs-on: arch-aarch64
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: install build-deps
|
||||
run: |
|
||||
set -e
|
||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||
retry pacman -Syu --noconfirm --needed \
|
||||
dpkg openssh rsync curl base-devel git meson ninja pkgconf \
|
||||
libva libdrm systemd-libs
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_HERTZ_KEY }}
|
||||
run: |
|
||||
mkdir -m700 -p /root/.ssh
|
||||
printf '%s\n' "$KEY" > /root/.ssh/id_ed25519_hertz
|
||||
chmod 600 /root/.ssh/id_ed25519_hertz
|
||||
ssh-keyscan -t ed25519 hertz.fritz.box >> /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: build libva-v4l2-request-fourier .deb
|
||||
run: |
|
||||
set -e
|
||||
cd debian/libva-v4l2-request-fourier
|
||||
./build-deb.sh
|
||||
ls -la *.deb
|
||||
|
||||
- name: upload + publish to suites
|
||||
run: |
|
||||
set -e
|
||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||
cd debian/libva-v4l2-request-fourier
|
||||
DEB=$(ls libva-v4l2-request-fourier_*.deb | head -1)
|
||||
retry rsync -av -e 'ssh -i /root/.ssh/id_ed25519_hertz' "$DEB" \
|
||||
marfritrepo@hertz.fritz.box:
|
||||
for suite in bookworm trixie; do
|
||||
retry ssh -i /root/.ssh/id_ed25519_hertz marfritrepo@hertz.fritz.box \
|
||||
"publish-deb $suite $DEB"
|
||||
done
|
||||
|
||||
- name: wipe secrets
|
||||
if: always()
|
||||
run: rm -f /root/.ssh/id_ed25519_hertz
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# mpv-fourier Debian (aarch64) — meson build links against
|
||||
# ffmpeg-v4l2-request-fourier's libavcodec to keep ABI symmetry between
|
||||
# the .deb's runtime dep declaration and the binary's actual linkage.
|
||||
# We pre-install the Arch sibling package from [marfrit] for that.
|
||||
# -------------------------------------------------------------------------
|
||||
mpv-fourier-debian:
|
||||
needs: mpv-fourier-aarch64
|
||||
runs-on: arch-aarch64
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: install build-deps
|
||||
run: |
|
||||
set -e
|
||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||
retry pacman -Syu --noconfirm --needed \
|
||||
dpkg openssh rsync curl base-devel git meson ninja python-docutils \
|
||||
ladspa wayland-protocols vulkan-headers \
|
||||
alsa-lib desktop-file-utils glibc hicolor-icon-theme jack lcms2 \
|
||||
libarchive libass libbluray libcdio libcdio-paranoia libdisplay-info \
|
||||
libdrm libdvdnav libdvdread libegl libgl libglvnd libjpeg-turbo \
|
||||
libplacebo libpulse libsixel libva libvdpau libx11 libxext \
|
||||
libxkbcommon libxpresent libxrandr libxss libxv luajit mesa mujs \
|
||||
libpipewire rubberband sdl2 openal uchardet vapoursynth \
|
||||
vulkan-icd-loader wayland zlib
|
||||
|
||||
- name: configure [marfrit] repo + pre-install ffmpeg-v4l2-request-fourier
|
||||
run: |
|
||||
set -e
|
||||
curl -sLo /tmp/marfrit.gpg https://packages.reauktion.de/marfrit.gpg
|
||||
pacman-key --add /tmp/marfrit.gpg
|
||||
pacman-key --lsign-key 92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C
|
||||
rm -f /tmp/marfrit.gpg
|
||||
if ! grep -q '^\[marfrit\]' /etc/pacman.conf; then
|
||||
printf '\n[marfrit]\nServer = https://packages.reauktion.de/arch/$arch\nSigLevel = Required\n' >> /etc/pacman.conf
|
||||
fi
|
||||
pacman -Sy --noconfirm
|
||||
rm -f /var/cache/pacman/pkg/ffmpeg-v4l2-request-fourier-*-aarch64.pkg.tar.*
|
||||
printf 'y\ny\ny\n' | pacman -S marfrit/ffmpeg-v4l2-request-fourier
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_HERTZ_KEY }}
|
||||
run: |
|
||||
mkdir -m700 -p /root/.ssh
|
||||
printf '%s\n' "$KEY" > /root/.ssh/id_ed25519_hertz
|
||||
chmod 600 /root/.ssh/id_ed25519_hertz
|
||||
ssh-keyscan -t ed25519 hertz.fritz.box >> /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: build mpv-fourier .deb
|
||||
run: |
|
||||
set -e
|
||||
cd debian/mpv-fourier
|
||||
./build-deb.sh
|
||||
ls -la *.deb
|
||||
|
||||
- name: upload + publish to suites
|
||||
run: |
|
||||
set -e
|
||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||
cd debian/mpv-fourier
|
||||
DEB=$(ls mpv-fourier_*.deb | head -1)
|
||||
retry rsync -av -e 'ssh -i /root/.ssh/id_ed25519_hertz' "$DEB" \
|
||||
marfritrepo@hertz.fritz.box:
|
||||
for suite in bookworm trixie; do
|
||||
retry ssh -i /root/.ssh/id_ed25519_hertz marfritrepo@hertz.fritz.box \
|
||||
"publish-deb $suite $DEB"
|
||||
done
|
||||
|
||||
- name: wipe secrets
|
||||
if: always()
|
||||
run: rm -f /root/.ssh/id_ed25519_hertz
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# daedalus-v4l2 Debian (aarch64) — CMake + Make build, dpkg-deb wrap.
|
||||
# Userspace daemon + test tools for the daedalus_v4l2 V4L2-stateless shim.
|
||||
# -------------------------------------------------------------------------
|
||||
daedalus-v4l2-debian:
|
||||
needs: claude-his-debian
|
||||
runs-on: arch-aarch64
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: install build-deps
|
||||
run: |
|
||||
set -e
|
||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||
retry pacman -Syu --noconfirm --needed \
|
||||
dpkg openssh rsync curl base-devel git cmake ninja pkgconf \
|
||||
ffmpeg libdrm
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_HERTZ_KEY }}
|
||||
run: |
|
||||
mkdir -m700 -p /root/.ssh
|
||||
printf '%s\n' "$KEY" > /root/.ssh/id_ed25519_hertz
|
||||
chmod 600 /root/.ssh/id_ed25519_hertz
|
||||
ssh-keyscan -t ed25519 hertz.fritz.box >> /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: build daedalus-v4l2 .deb
|
||||
run: |
|
||||
set -e
|
||||
cd debian/daedalus-v4l2
|
||||
./build-deb.sh
|
||||
ls -la *.deb
|
||||
|
||||
- name: upload + publish to suites
|
||||
run: |
|
||||
set -e
|
||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||
cd debian/daedalus-v4l2
|
||||
DEB=$(ls daedalus-v4l2_*.deb | head -1)
|
||||
retry rsync -av -e 'ssh -i /root/.ssh/id_ed25519_hertz' "$DEB" \
|
||||
marfritrepo@hertz.fritz.box:
|
||||
for suite in bookworm trixie; do
|
||||
retry ssh -i /root/.ssh/id_ed25519_hertz marfritrepo@hertz.fritz.box \
|
||||
"publish-deb $suite $DEB"
|
||||
done
|
||||
|
||||
- name: wipe secrets
|
||||
if: always()
|
||||
run: rm -f /root/.ssh/id_ed25519_hertz
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# daedalus-v4l2-dkms Debian (Architecture: all) — packages the kernel
|
||||
# source tree + dkms.conf. No compilation; just file copy + dpkg-deb.
|
||||
# -------------------------------------------------------------------------
|
||||
daedalus-v4l2-dkms-debian:
|
||||
needs: daedalus-v4l2-debian
|
||||
runs-on: arch-aarch64
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: install tooling
|
||||
run: |
|
||||
set -e
|
||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||
retry pacman -Syu --noconfirm --needed dpkg openssh rsync curl tar gzip
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_HERTZ_KEY }}
|
||||
run: |
|
||||
mkdir -m700 -p /root/.ssh
|
||||
printf '%s\n' "$KEY" > /root/.ssh/id_ed25519_hertz
|
||||
chmod 600 /root/.ssh/id_ed25519_hertz
|
||||
ssh-keyscan -t ed25519 hertz.fritz.box >> /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: build daedalus-v4l2-dkms .deb
|
||||
run: |
|
||||
set -e
|
||||
cd debian/daedalus-v4l2-dkms
|
||||
./build-deb.sh
|
||||
ls -la *.deb
|
||||
|
||||
- name: upload + publish to suites
|
||||
run: |
|
||||
set -e
|
||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||
cd debian/daedalus-v4l2-dkms
|
||||
DEB=$(ls daedalus-v4l2-dkms_*.deb | head -1)
|
||||
retry rsync -av -e 'ssh -i /root/.ssh/id_ed25519_hertz' "$DEB" \
|
||||
marfritrepo@hertz.fritz.box:
|
||||
for suite in bookworm trixie; do
|
||||
retry ssh -i /root/.ssh/id_ed25519_hertz marfritrepo@hertz.fritz.box \
|
||||
"publish-deb $suite $DEB"
|
||||
done
|
||||
|
||||
- name: wipe secrets
|
||||
if: always()
|
||||
run: rm -f /root/.ssh/id_ed25519_hertz
|
||||
|
||||
Reference in New Issue
Block a user