ci: skip jobs when package already published
Wire .gitea/scripts/check-already-published.sh into every job in build.yml. New step `skip if already published` (id: skip-check) lands right after actions/checkout@v4 and runs the helper against the job's recipe-dir. Subsequent steps gain `if: steps.skip-check.outputs.skip != '1'`, except `wipe secrets` which keeps its existing `if: always()`. Recipe-dir per job is taken from each job's existing `cp -r arch/...` or `cd debian/...` line — no guessing. Effect: on push where only e.g. firefox-fourier changed, 13 jobs HEAD the pool, see 200, and short-circuit; only firefox-fourier rebuilds. Verified live against packages.reauktion.de — current branch tip would skip 10/14 jobs. Patch is text-based (no PyYAML round-trip) so comments and blank lines stay where they were. Diff is 190 lines added, 0 removed.
This commit is contained in:
@@ -16,13 +16,23 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: skip if already published
|
||||
id: skip-check
|
||||
run: |
|
||||
set -e
|
||||
result=$(./.gitea/scripts/check-already-published.sh arch/distcc-avahi)
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: bootstrap runner (idempotent)
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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 base-devel git rsync gnupg openssh sudo avahi popt python python-setuptools
|
||||
|
||||
- name: import signing key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
PRIV: ${{ secrets.MARFRIT_REPO_PRIVATE_KEY }}
|
||||
PASS: ${{ secrets.MARFRIT_REPO_PASSPHRASE }}
|
||||
@@ -37,6 +47,7 @@ jobs:
|
||||
echo "92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C:6:" | gpg --import-ownertrust
|
||||
|
||||
- name: install deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_DEPLOY_KEY }}
|
||||
run: |
|
||||
@@ -46,6 +57,7 @@ jobs:
|
||||
ssh-keyscan -t ed25519 nc.reauktion.de > /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: makepkg distcc-avahi
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
rm -rf /tmp/build-distcc-avahi
|
||||
@@ -56,6 +68,7 @@ jobs:
|
||||
ls -la *.pkg.tar.* | grep -v "\.sig$"
|
||||
|
||||
- name: sign distcc-avahi
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
cd /tmp/build-distcc-avahi
|
||||
@@ -66,6 +79,7 @@ jobs:
|
||||
done
|
||||
|
||||
- name: update aarch64 repo db
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
mkdir -p /tmp/arch-stage
|
||||
@@ -105,6 +119,7 @@ jobs:
|
||||
rm -f marfrit.files.sig
|
||||
|
||||
- name: publish to aarch64
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -129,13 +144,23 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: skip if already published
|
||||
id: skip-check
|
||||
run: |
|
||||
set -e
|
||||
result=$(./.gitea/scripts/check-already-published.sh debian/lmcp)
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: install dpkg
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_HERTZ_KEY }}
|
||||
run: |
|
||||
@@ -145,6 +170,7 @@ jobs:
|
||||
ssh-keyscan -t ed25519 hertz.fritz.box >> /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: build lmcp .deb
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
cd debian/lmcp
|
||||
@@ -152,6 +178,7 @@ jobs:
|
||||
ls -la *.deb
|
||||
|
||||
- name: upload + publish to suites
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -182,13 +209,23 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: skip if already published
|
||||
id: skip-check
|
||||
run: |
|
||||
set -e
|
||||
result=$(./.gitea/scripts/check-already-published.sh arch/lmcp)
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: bootstrap runner (idempotent)
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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 base-devel git rsync gnupg openssh sudo lua lua-socket
|
||||
|
||||
- name: import signing key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
PRIV: ${{ secrets.MARFRIT_REPO_PRIVATE_KEY }}
|
||||
PASS: ${{ secrets.MARFRIT_REPO_PASSPHRASE }}
|
||||
@@ -203,6 +240,7 @@ jobs:
|
||||
echo "92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C:6:" | gpg --import-ownertrust
|
||||
|
||||
- name: install deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_DEPLOY_KEY }}
|
||||
run: |
|
||||
@@ -212,6 +250,7 @@ jobs:
|
||||
ssh-keyscan -t ed25519 nc.reauktion.de > /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: makepkg lmcp
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
rm -rf /tmp/build-lmcp
|
||||
@@ -222,6 +261,7 @@ jobs:
|
||||
ls -la *.pkg.tar.* | grep -v "\.sig$"
|
||||
|
||||
- name: sign lmcp
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
cd /tmp/build-lmcp
|
||||
@@ -232,6 +272,7 @@ jobs:
|
||||
done
|
||||
|
||||
- name: publish lmcp to both arches
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -283,13 +324,23 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: skip if already published
|
||||
id: skip-check
|
||||
run: |
|
||||
set -e
|
||||
result=$(./.gitea/scripts/check-already-published.sh arch/claude-his-agent)
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: bootstrap runner (idempotent)
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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 base-devel git rsync gnupg openssh sudo
|
||||
|
||||
- name: import signing key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
PRIV: ${{ secrets.MARFRIT_REPO_PRIVATE_KEY }}
|
||||
PASS: ${{ secrets.MARFRIT_REPO_PASSPHRASE }}
|
||||
@@ -304,6 +355,7 @@ jobs:
|
||||
echo "92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C:6:" | gpg --import-ownertrust
|
||||
|
||||
- name: install deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_DEPLOY_KEY }}
|
||||
run: |
|
||||
@@ -313,6 +365,7 @@ jobs:
|
||||
ssh-keyscan -t ed25519 nc.reauktion.de > /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: makepkg claude-his-agent
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
rm -rf /tmp/build-his
|
||||
@@ -323,6 +376,7 @@ jobs:
|
||||
ls -la *.pkg.tar.* | grep -v "\.sig$"
|
||||
|
||||
- name: sign claude-his-agent
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
cd /tmp/build-his
|
||||
@@ -333,6 +387,7 @@ jobs:
|
||||
done
|
||||
|
||||
- name: publish claude-his-agent to both arches
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -387,13 +442,23 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: skip if already published
|
||||
id: skip-check
|
||||
run: |
|
||||
set -e
|
||||
result=$(./.gitea/scripts/check-already-published.sh arch/ffmpeg-v4l2-request-fourier)
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: bootstrap runner (idempotent)
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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 base-devel git rsync gnupg openssh sudo nasm
|
||||
|
||||
- name: import signing key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
PRIV: ${{ secrets.MARFRIT_REPO_PRIVATE_KEY }}
|
||||
PASS: ${{ secrets.MARFRIT_REPO_PASSPHRASE }}
|
||||
@@ -408,6 +473,7 @@ jobs:
|
||||
echo "92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C:6:" | gpg --import-ownertrust
|
||||
|
||||
- name: install deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_DEPLOY_KEY }}
|
||||
run: |
|
||||
@@ -417,6 +483,7 @@ jobs:
|
||||
ssh-keyscan -t ed25519 nc.reauktion.de > /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: makepkg ffmpeg-v4l2-request-fourier
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
rm -rf /tmp/build-ffmpeg-v4l2
|
||||
@@ -430,6 +497,7 @@ jobs:
|
||||
ls -la *.pkg.tar.* | grep -v "\.sig$"
|
||||
|
||||
- name: sign ffmpeg-v4l2-request-fourier
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
cd /tmp/build-ffmpeg-v4l2
|
||||
@@ -440,6 +508,7 @@ jobs:
|
||||
done
|
||||
|
||||
- name: update aarch64 repo db
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
mkdir -p /tmp/arch-stage-ffmpeg
|
||||
@@ -475,6 +544,7 @@ jobs:
|
||||
rm -f marfrit.files.sig
|
||||
|
||||
- name: publish to aarch64
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -500,13 +570,23 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: skip if already published
|
||||
id: skip-check
|
||||
run: |
|
||||
set -e
|
||||
result=$(./.gitea/scripts/check-already-published.sh arch/libva-v4l2-request-fourier)
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: bootstrap runner (idempotent)
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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 base-devel git rsync gnupg openssh sudo
|
||||
|
||||
- name: import signing key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
PRIV: ${{ secrets.MARFRIT_REPO_PRIVATE_KEY }}
|
||||
PASS: ${{ secrets.MARFRIT_REPO_PASSPHRASE }}
|
||||
@@ -521,6 +601,7 @@ jobs:
|
||||
echo "92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C:6:" | gpg --import-ownertrust
|
||||
|
||||
- name: install deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_DEPLOY_KEY }}
|
||||
run: |
|
||||
@@ -530,6 +611,7 @@ jobs:
|
||||
ssh-keyscan -t ed25519 nc.reauktion.de > /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: makepkg libva-v4l2-request-fourier
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
rm -rf /tmp/build-libva-v4l2
|
||||
@@ -541,6 +623,7 @@ jobs:
|
||||
ls -la *.pkg.tar.* | grep -v "\.sig$"
|
||||
|
||||
- name: sign libva-v4l2-request-fourier
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
cd /tmp/build-libva-v4l2
|
||||
@@ -551,6 +634,7 @@ jobs:
|
||||
done
|
||||
|
||||
- name: update aarch64 repo db
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
mkdir -p /tmp/arch-stage-libva
|
||||
@@ -586,6 +670,7 @@ jobs:
|
||||
rm -f marfrit.files.sig
|
||||
|
||||
- name: publish to aarch64
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -611,13 +696,23 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: skip if already published
|
||||
id: skip-check
|
||||
run: |
|
||||
set -e
|
||||
result=$(./.gitea/scripts/check-already-published.sh arch/mpv-fourier)
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: bootstrap runner (idempotent)
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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 base-devel git rsync gnupg openssh sudo
|
||||
|
||||
- name: import signing key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
PRIV: ${{ secrets.MARFRIT_REPO_PRIVATE_KEY }}
|
||||
PASS: ${{ secrets.MARFRIT_REPO_PASSPHRASE }}
|
||||
@@ -632,6 +727,7 @@ jobs:
|
||||
echo "92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C:6:" | gpg --import-ownertrust
|
||||
|
||||
- name: install deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_DEPLOY_KEY }}
|
||||
run: |
|
||||
@@ -641,6 +737,7 @@ jobs:
|
||||
ssh-keyscan -t ed25519 nc.reauktion.de > /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: configure [marfrit] repo + pre-install ffmpeg-v4l2-request-fourier
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
# mpv-fourier links libavcodec at build time. If the build host pulls
|
||||
@@ -668,6 +765,7 @@ jobs:
|
||||
printf 'y\ny\ny\n' | pacman -S marfrit/ffmpeg-v4l2-request-fourier
|
||||
|
||||
- name: makepkg mpv-fourier
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
rm -rf /tmp/build-mpv
|
||||
@@ -679,6 +777,7 @@ jobs:
|
||||
ls -la *.pkg.tar.* | grep -v "\.sig$"
|
||||
|
||||
- name: sign mpv-fourier
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
cd /tmp/build-mpv
|
||||
@@ -689,6 +788,7 @@ jobs:
|
||||
done
|
||||
|
||||
- name: update aarch64 repo db
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
mkdir -p /tmp/arch-stage-mpv
|
||||
@@ -724,6 +824,7 @@ jobs:
|
||||
rm -f marfrit.files.sig
|
||||
|
||||
- name: publish to aarch64
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -746,13 +847,23 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: skip if already published
|
||||
id: skip-check
|
||||
run: |
|
||||
set -e
|
||||
result=$(./.gitea/scripts/check-already-published.sh debian/claude-his-agent)
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: install dpkg
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_HERTZ_KEY }}
|
||||
run: |
|
||||
@@ -762,6 +873,7 @@ jobs:
|
||||
ssh-keyscan -t ed25519 hertz.fritz.box >> /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: build claude-his-agent .deb
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
cd debian/claude-his-agent
|
||||
@@ -769,6 +881,7 @@ jobs:
|
||||
ls -la *.deb
|
||||
|
||||
- name: upload + publish to suites
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -798,7 +911,16 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: skip if already published
|
||||
id: skip-check
|
||||
run: |
|
||||
set -e
|
||||
result=$(./.gitea/scripts/check-already-published.sh debian/ffmpeg-v4l2-request-fourier)
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: install build-deps (Arch pkg names; build-deb.sh links natively)
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -809,6 +931,7 @@ jobs:
|
||||
libvorbis libvpx libwebp x264 x265 libxml2 opus v4l-utils xz zlib
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_HERTZ_KEY }}
|
||||
run: |
|
||||
@@ -818,6 +941,7 @@ jobs:
|
||||
ssh-keyscan -t ed25519 hertz.fritz.box >> /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: build ffmpeg-v4l2-request-fourier .deb
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
cd debian/ffmpeg-v4l2-request-fourier
|
||||
@@ -825,6 +949,7 @@ jobs:
|
||||
ls -la *.deb
|
||||
|
||||
- name: upload + publish to suites
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -851,7 +976,16 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: skip if already published
|
||||
id: skip-check
|
||||
run: |
|
||||
set -e
|
||||
result=$(./.gitea/scripts/check-already-published.sh debian/libva-v4l2-request-fourier)
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: install build-deps
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -860,6 +994,7 @@ jobs:
|
||||
libva libdrm systemd-libs
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_HERTZ_KEY }}
|
||||
run: |
|
||||
@@ -869,6 +1004,7 @@ jobs:
|
||||
ssh-keyscan -t ed25519 hertz.fritz.box >> /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: build libva-v4l2-request-fourier .deb
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
cd debian/libva-v4l2-request-fourier
|
||||
@@ -876,6 +1012,7 @@ jobs:
|
||||
ls -la *.deb
|
||||
|
||||
- name: upload + publish to suites
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -905,7 +1042,16 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: skip if already published
|
||||
id: skip-check
|
||||
run: |
|
||||
set -e
|
||||
result=$(./.gitea/scripts/check-already-published.sh debian/mpv-fourier)
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: install build-deps
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -921,6 +1067,7 @@ jobs:
|
||||
vulkan-icd-loader wayland zlib
|
||||
|
||||
- name: configure [marfrit] repo + pre-install ffmpeg-v4l2-request-fourier
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
curl -sLo /tmp/marfrit.gpg https://packages.reauktion.de/marfrit.gpg
|
||||
@@ -935,6 +1082,7 @@ jobs:
|
||||
printf 'y\ny\ny\n' | pacman -S marfrit/ffmpeg-v4l2-request-fourier
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_HERTZ_KEY }}
|
||||
run: |
|
||||
@@ -944,6 +1092,7 @@ jobs:
|
||||
ssh-keyscan -t ed25519 hertz.fritz.box >> /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: build mpv-fourier .deb
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
cd debian/mpv-fourier
|
||||
@@ -951,6 +1100,7 @@ jobs:
|
||||
ls -la *.deb
|
||||
|
||||
- name: upload + publish to suites
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -978,7 +1128,16 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: skip if already published
|
||||
id: skip-check
|
||||
run: |
|
||||
set -e
|
||||
result=$(./.gitea/scripts/check-already-published.sh debian/daedalus-v4l2)
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: install build-deps (sans ffmpeg — see [marfrit] step)
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -994,6 +1153,7 @@ jobs:
|
||||
libdrm
|
||||
|
||||
- name: ensure ffmpeg-v4l2-request-fourier installed (link-time ABI source)
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
# Idempotent: pre-install the marfrit fourier ffmpeg so cmake
|
||||
@@ -1011,6 +1171,7 @@ jobs:
|
||||
printf 'y\ny\ny\n' | pacman -S --needed marfrit/ffmpeg-v4l2-request-fourier
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_HERTZ_KEY }}
|
||||
run: |
|
||||
@@ -1020,6 +1181,7 @@ jobs:
|
||||
ssh-keyscan -t ed25519 hertz.fritz.box >> /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: build daedalus-v4l2 .deb
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
cd debian/daedalus-v4l2
|
||||
@@ -1027,6 +1189,7 @@ jobs:
|
||||
ls -la *.deb
|
||||
|
||||
- name: upload + publish to suites
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -1054,13 +1217,23 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: skip if already published
|
||||
id: skip-check
|
||||
run: |
|
||||
set -e
|
||||
result=$(./.gitea/scripts/check-already-published.sh debian/daedalus-v4l2-dkms)
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: install tooling
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_HERTZ_KEY }}
|
||||
run: |
|
||||
@@ -1070,6 +1243,7 @@ jobs:
|
||||
ssh-keyscan -t ed25519 hertz.fritz.box >> /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: build daedalus-v4l2-dkms .deb
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
cd debian/daedalus-v4l2-dkms
|
||||
@@ -1077,6 +1251,7 @@ jobs:
|
||||
ls -la *.deb
|
||||
|
||||
- name: upload + publish to suites
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
@@ -1110,13 +1285,23 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: skip if already published
|
||||
id: skip-check
|
||||
run: |
|
||||
set -e
|
||||
result=$(./.gitea/scripts/check-already-published.sh arch/mesa-panvk-bifrost)
|
||||
echo "$result" >> "$GITHUB_OUTPUT"
|
||||
echo "decision: $result"
|
||||
|
||||
- name: bootstrap runner (idempotent)
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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 base-devel git rsync gnupg openssh sudo
|
||||
|
||||
- name: import signing key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
PRIV: ${{ secrets.MARFRIT_REPO_PRIVATE_KEY }}
|
||||
PASS: ${{ secrets.MARFRIT_REPO_PASSPHRASE }}
|
||||
@@ -1131,6 +1316,7 @@ jobs:
|
||||
echo "92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C:6:" | gpg --import-ownertrust
|
||||
|
||||
- name: install deploy ssh key
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
env:
|
||||
KEY: ${{ secrets.MARFRIT_REPO_DEPLOY_KEY }}
|
||||
run: |
|
||||
@@ -1140,6 +1326,7 @@ jobs:
|
||||
ssh-keyscan -t ed25519 nc.reauktion.de > /root/.ssh/known_hosts 2>/dev/null
|
||||
|
||||
- name: makepkg mesa-panvk-bifrost
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
rm -rf /tmp/build-mesa-panvk-bifrost
|
||||
@@ -1154,6 +1341,7 @@ jobs:
|
||||
ls -la *.pkg.tar.* | grep -v "\.sig$"
|
||||
|
||||
- name: sign mesa-panvk-bifrost
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
cd /tmp/build-mesa-panvk-bifrost
|
||||
@@ -1164,6 +1352,7 @@ jobs:
|
||||
done
|
||||
|
||||
- name: update aarch64 repo db
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
run: |
|
||||
set -e
|
||||
mkdir -p /tmp/arch-stage-mesa-panvk
|
||||
@@ -1199,6 +1388,7 @@ jobs:
|
||||
rm -f marfrit.files.sig
|
||||
|
||||
- name: publish to aarch64
|
||||
if: steps.skip-check.outputs.skip != '1'
|
||||
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; }
|
||||
|
||||
Reference in New Issue
Block a user