fix(ci): upload every makepkg artifact, not just the first
PKGBUILDs with options=('debug') produce a main + -debug split pair.
The previous `ls -t | head -1` only uploaded one, and which one won
was mtime-dependent. Loop over all *.pkg.tar.zst and parse pkgname
per file (so -debug gets its own registry entry).
This commit is contained in:
parent
87336b7613
commit
6c89ffd9cd
@ -43,34 +43,43 @@ jobs:
|
|||||||
|
|
||||||
makepkg -sf --noconfirm
|
makepkg -sf --noconfirm
|
||||||
|
|
||||||
# Find the built package file
|
# makepkg can emit multiple artifacts per build (main + -debug
|
||||||
PKG_FILE=$(ls -t *.pkg.tar.zst 2>/dev/null | head -1)
|
# split package). Upload each. Arch filename convention:
|
||||||
if [ -z "$PKG_FILE" ]; then
|
# <pkgname>-<pkgver>-<pkgrel>-<arch>.pkg.tar.zst; pkgver never
|
||||||
|
# contains '-', so we can strip from the right.
|
||||||
|
shopt -s nullglob
|
||||||
|
PKG_FILES=(*.pkg.tar.zst)
|
||||||
|
shopt -u nullglob
|
||||||
|
if [ "${#PKG_FILES[@]}" -eq 0 ]; then
|
||||||
echo "ERROR: No package file found for $pkg"
|
echo "ERROR: No package file found for $pkg"
|
||||||
cd ..
|
cd ..
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Extract version for delete endpoint
|
for PKG_FILE in "${PKG_FILES[@]}"; do
|
||||||
PKG_NAME=$(grep '^pkgname=' PKGBUILD | cut -d= -f2)
|
base="${PKG_FILE%.pkg.tar.zst}"
|
||||||
PKG_VER=$(grep '^pkgver=' PKGBUILD | cut -d= -f2)
|
PKG_ARCH="${base##*-}"
|
||||||
PKG_REL=$(grep '^pkgrel=' PKGBUILD | cut -d= -f2)
|
base="${base%-*}"
|
||||||
PKG_ARCH=$(grep '^arch=' PKGBUILD | sed "s/.*('\(.*\)').*/\1/")
|
PKG_REL="${base##*-}"
|
||||||
FULL_VER="${PKG_VER}-${PKG_REL}"
|
base="${base%-*}"
|
||||||
|
PKG_VER="${base##*-}"
|
||||||
|
PKG_NAME="${base%-*}"
|
||||||
|
FULL_VER="${PKG_VER}-${PKG_REL}"
|
||||||
|
|
||||||
echo "==> Uploading $PKG_FILE ($PKG_NAME $FULL_VER $PKG_ARCH)"
|
echo "==> Uploading $PKG_FILE ($PKG_NAME $FULL_VER $PKG_ARCH)"
|
||||||
|
|
||||||
# Delete old version if it exists (ignore 404)
|
# Delete old version if it exists (ignore 404)
|
||||||
curl -s -o /dev/null -X DELETE \
|
curl -s -o /dev/null -X DELETE \
|
||||||
-H "Authorization: token ${{ secrets.PKG_REGISTRY_TOKEN }}" \
|
-H "Authorization: token ${{ secrets.PKG_REGISTRY_TOKEN }}" \
|
||||||
"https://gitea.moonarch.de/api/packages/nevaforget/arch/moonarch/${PKG_NAME}/${FULL_VER}/${PKG_ARCH}" || true
|
"https://gitea.moonarch.de/api/packages/nevaforget/arch/moonarch/${PKG_NAME}/${FULL_VER}/${PKG_ARCH}" || true
|
||||||
|
|
||||||
# Upload new version
|
# Upload new version
|
||||||
curl -sf \
|
curl -sf \
|
||||||
-H "Authorization: token ${{ secrets.PKG_REGISTRY_TOKEN }}" \
|
-H "Authorization: token ${{ secrets.PKG_REGISTRY_TOKEN }}" \
|
||||||
--upload-file "$PKG_FILE" \
|
--upload-file "$PKG_FILE" \
|
||||||
"https://gitea.moonarch.de/api/packages/nevaforget/arch/moonarch"
|
"https://gitea.moonarch.de/api/packages/nevaforget/arch/moonarch"
|
||||||
|
|
||||||
echo "==> Published $PKG_NAME $FULL_VER"
|
echo "==> Published $PKG_NAME $FULL_VER"
|
||||||
|
done
|
||||||
cd ..
|
cd ..
|
||||||
done
|
done
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user