From 4734bd943fba22122dfc5f574ad7dafe706a29ed Mon Sep 17 00:00:00 2001 From: Dave Date: Sat, 21 Mar 2026 11:52:18 +0000 Subject: [PATCH] Fixing release --- script/release | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/script/release b/script/release index 31d0d47..7afcc7c 100755 --- a/script/release +++ b/script/release @@ -49,7 +49,16 @@ PACKAGE_JSON="${SCRIPT_DIR}/frontend/package.json" sed -i '' "s/\"version\": \".*\"/\"version\": \"${VERSION}\"/" "$PACKAGE_JSON" echo "==> Bumped ${PACKAGE_JSON} to ${VERSION}" -git add "$CARGO_TOML" "$PACKAGE_JSON" +# Regenerate lock files so they stay in sync with the version bump. +CARGO_LOCK="${SCRIPT_DIR}/Cargo.lock" +(cd "${SCRIPT_DIR}/server" && cargo generate-lockfile) +echo "==> Regenerated Cargo.lock" + +PACKAGE_LOCK="${SCRIPT_DIR}/frontend/package-lock.json" +(cd "${SCRIPT_DIR}/frontend" && npm install --package-lock-only --ignore-scripts --silent 2>/dev/null) +echo "==> Regenerated package-lock.json" + +git add "$CARGO_TOML" "$CARGO_LOCK" "$PACKAGE_JSON" "$PACKAGE_LOCK" git commit -m "Bump version to ${VERSION}" if ! command -v cross >/dev/null 2>&1; then @@ -188,20 +197,29 @@ git push origin "$TAG" # ── Create Gitea Release ────────────────────────────────────── echo "==> Creating release on Gitea..." -RELEASE_JSON=$(python3 -c " +RELEASE_JSON_FILE=$(mktemp) +trap "rm -f '$RELEASE_JSON_FILE'" EXIT +python3 -c " import json, sys -print(json.dumps({ - 'tag_name': sys.argv[1], - 'name': sys.argv[1], - 'body': sys.argv[2] -})) -" "$TAG" "$RELEASE_BODY") +with open(sys.argv[3], 'w') as f: + json.dump({ + 'tag_name': sys.argv[1], + 'name': sys.argv[1], + 'body': sys.argv[2] + }, f) +" "$TAG" "$RELEASE_BODY" "$RELEASE_JSON_FILE" -RELEASE_RESPONSE=$(curl -sf -X POST \ +RELEASE_RESPONSE=$(curl -s --fail-with-body -X POST \ -H "Authorization: token ${GITEA_TOKEN}" \ -H "Content-Type: application/json" \ "${GITEA_URL}/api/v1/repos/${REPO}/releases" \ - -d "$RELEASE_JSON") + -d "@${RELEASE_JSON_FILE}") + +if [ $? -ne 0 ]; then + echo "Error: Failed to create Gitea release." + echo "Response: ${RELEASE_RESPONSE}" + exit 1 +fi RELEASE_ID=$(echo "$RELEASE_RESPONSE" | python3 -c "import sys,json; print(json.load(sys.stdin)['id'])")