CI: fix Arch-registry publish (use makepkg --packagelist; !strip for cross-arch repack)

The runner's PKGEXT is .pkg.tar.xz, so the .zst glob never matched;
--packagelist yields the exact filename, and options=('!strip') lets the
foreign-arch binary be packaged on the aarch64 host without stripping.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GLUwWE2KmFPzhKaf67tWbx
This commit is contained in:
Bendik Aagaard Lynghaug
2026-09-13 11:05:38 +02:00
co-authored by Claude Opus 4.8
parent 903b8ccbb9
commit 0754e9e3e3
2 changed files with 11 additions and 4 deletions
+10 -4
View File
@@ -138,12 +138,18 @@ jobs:
# one host. Consumers: see the infrastructure README.
- name: Publish to the Arch package registry
run: |
set -euo pipefail
cd aur
# Build both arches here (repackaging the released binaries) and
# push each to the instance Arch registry. Use --packagelist for
# the exact filename (honours the runner's PKGEXT/PKGDEST) rather
# than globbing, and !strip (in the PKGBUILD) so packaging the
# foreign-arch binary on this host does not try to strip it.
for carch in aarch64 x86_64; do
rm -f ./*.pkg.tar.zst
CARCH=$carch makepkg -f --nodeps
curl --fail --user "${{ gitea.actor }}:${{ secrets.GITHUB_TOKEN }}" \
--upload-file ./*-$carch.pkg.tar.zst \
pkgfile=$(CARCH="$carch" makepkg --packagelist | tail -1)
CARCH="$carch" makepkg -f --nodeps --noconfirm --skipinteg
curl --fail-with-body --user "${{ gitea.actor }}:${{ secrets.GITHUB_TOKEN }}" \
--upload-file "$pkgfile" \
"${{ gitea.server_url }}/api/packages/${{ gitea.repository_owner }}/arch/uhhm"
done