mirror of
https://github.com/Novaloop-AG/healthchat-web.git
synced 2026-11-04 20:01:58 +00:00
ci: split desktop feed tarball under 2 GiB asset cap
This commit is contained in:
@@ -348,7 +348,11 @@ jobs:
|
|||||||
VERSION="${GITHUB_REF_NAME#healthchat-v}"
|
VERSION="${GITHUB_REF_NAME#healthchat-v}"
|
||||||
TARBALL="healthchat-desktop-feed-${VERSION}.tar.gz"
|
TARBALL="healthchat-desktop-feed-${VERSION}.tar.gz"
|
||||||
# Store paths relative to feed/ so the deploy side extracts a bare feed/ tree.
|
# Store paths relative to feed/ so the deploy side extracts a bare feed/ tree.
|
||||||
tar -czf "$TARBALL" feed
|
# GitHub caps Release assets at 2 GiB and the compressed feed exceeds that
|
||||||
ls -lh "$TARBALL"
|
# (first hit by 1.6.0), so stream the tarball through split and attach the
|
||||||
gh release upload "$TAG" "$TARBALL" --clobber
|
# parts; the deploy workflow concatenates ${TARBALL}.part* in glob order
|
||||||
echo "::notice::Update feed attached as ${TARBALL}. The live feed at healthchat.ch is UNCHANGED — run the 'Deploy HealthChat Desktop' workflow to publish it."
|
# before extracting.
|
||||||
|
tar -czf - feed | split -b 1536m -d - "${TARBALL}.part"
|
||||||
|
ls -lh "${TARBALL}".part*
|
||||||
|
gh release upload "$TAG" "${TARBALL}".part* --clobber
|
||||||
|
echo "::notice::Update feed attached as ${TARBALL}.part*. The live feed at packages.healthchat.ch is UNCHANGED — run the 'Deploy HealthChat Desktop' workflow to publish it."
|
||||||
|
|||||||
@@ -72,12 +72,19 @@ jobs:
|
|||||||
echo "::error::No GitHub Release found for tag $TAG"
|
echo "::error::No GitHub Release found for tag $TAG"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if ! gh release download "$TAG" --pattern "$TARBALL" --clobber; then
|
# The feed is attached as split ${TARBALL}.part* files (the compressed feed
|
||||||
echo "::error::Release $TAG has no asset '$TARBALL'. Releases cut before the deploy split do not carry one — re-run 'Build HealthChat Desktop' for this version to produce it."
|
# outgrew GitHub's 2 GiB per-asset cap at 1.6.0); older releases may carry a
|
||||||
|
# single-file tarball instead. Handle both.
|
||||||
|
if ! gh release download "$TAG" --pattern "${TARBALL}*" --clobber; then
|
||||||
|
echo "::error::Release $TAG has no asset matching '${TARBALL}*'. Releases cut before the deploy split do not carry one — re-run 'Build HealthChat Desktop' for this version to produce it."
|
||||||
gh release view "$TAG" --json assets --jq '.assets[].name' || true
|
gh release view "$TAG" --json assets --jq '.assets[].name' || true
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
tar -xzf "$TARBALL"
|
if compgen -G "${TARBALL}.part*" > /dev/null; then
|
||||||
|
cat "${TARBALL}".part* | tar -xzf -
|
||||||
|
else
|
||||||
|
tar -xzf "$TARBALL"
|
||||||
|
fi
|
||||||
test -d feed || { echo "::error::Tarball did not contain a feed/ directory"; exit 1; }
|
test -d feed || { echo "::error::Tarball did not contain a feed/ directory"; exit 1; }
|
||||||
echo "--- feed to publish ---"
|
echo "--- feed to publish ---"
|
||||||
find feed -type f | sort
|
find feed -type f | sort
|
||||||
|
|||||||
Reference in New Issue
Block a user