fix(ci): move releases clone out of /tmp and free disk after LFS push
Tests / tests (push) Successful in 2m18s
Tests / tests (push) Successful in 2m18s
This commit is contained in:
@@ -110,7 +110,7 @@ jobs:
|
||||
GITEA_SCHEME="${GITEA_BASE%%://*}"
|
||||
GITEA_HOST="${GITEA_BASE#*://}"
|
||||
CLONE_URL="${GITEA_SCHEME}://${RELEASES_OWNER}:${GITEA_TOKEN}@${GITEA_HOST}/${RELEASES_REPO}.git"
|
||||
REPO_DIR=/tmp/alvinarch-releases
|
||||
REPO_DIR="$PWD/.releases-repo"
|
||||
trap 'rm -rf "$REPO_DIR"' EXIT
|
||||
|
||||
# Collect the ISOs produced by the build
|
||||
@@ -197,6 +197,9 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Free disk space immediately — the clone + LFS objects are multi-GB
|
||||
rm -rf "$REPO_DIR"
|
||||
|
||||
# Verify each LFS object exists server-side (oid == the sha256 we recorded)
|
||||
for i in "${!zst_files[@]}"; do
|
||||
fname=$(basename "${zst_files[$i]}")
|
||||
@@ -234,24 +237,19 @@ jobs:
|
||||
|
||||
echo " ✅ Released $TAG_NAME (ID: $RELEASE_ID) with download link + SHA-256 checksums"
|
||||
|
||||
# Mirror the release tag on the releases repo for redundancy/discovery
|
||||
if ! git -C "$REPO_DIR" ls-remote --exit-code origin \
|
||||
refs/tags/"$TAG_NAME" >/dev/null 2>&1; then
|
||||
git -C "$REPO_DIR" tag "$TAG_NAME"
|
||||
if ! git -C "$REPO_DIR" push --quiet origin "$TAG_NAME" 2>/dev/null; then
|
||||
echo "❌ Failed to push tag $TAG_NAME to $RELEASES_REPO." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
# Mirror the release on the releases repo via API (creates tag + release)
|
||||
if ! curl -sf -o /dev/null -H "Authorization: token $GITEA_TOKEN" \
|
||||
"$GITEA_API/repos/$RELEASES_REPO/releases/tags/$TAG_NAME"; then
|
||||
curl -sf -X POST \
|
||||
if ! curl -sf -X POST \
|
||||
-H "Authorization: token $GITEA_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
"$GITEA_API/repos/$RELEASES_REPO/releases" \
|
||||
-d "$payload" > /dev/null
|
||||
-d "$payload" > /dev/null; then
|
||||
echo "⚠️ Failed to mirror release on $RELEASES_REPO (non-fatal)." >&2
|
||||
else
|
||||
echo " ✅ Mirrored $TAG_NAME release on $RELEASES_REPO"
|
||||
fi
|
||||
fi
|
||||
|
||||
- name: Keep only latest 3 releases
|
||||
if: success()
|
||||
|
||||
Reference in New Issue
Block a user