diff --git a/.gitea/workflows/build-release.yml b/.gitea/workflows/build-release.yml index 773303a..1c7a8ff 100644 --- a/.gitea/workflows/build-release.yml +++ b/.gitea/workflows/build-release.yml @@ -240,23 +240,23 @@ jobs: id: release_notes run: | VERSION="${{ steps.tag_name.outputs.VERSION }}" - echo "## 📱 JellyTau $VERSION Release" > release_notes.md + echo "## JellyTau $VERSION Release" > release_notes.md echo "" >> release_notes.md - echo "### đŸ“Ļ Downloads" >> release_notes.md + echo "### Downloads" >> release_notes.md echo "" >> release_notes.md echo "#### Linux" >> release_notes.md echo "- **AppImage** - Run directly on most Linux distributions" >> release_notes.md - echo "- **DEB** - Install via `sudo dpkg -i jellytau_*.deb` (Ubuntu/Debian)" >> release_notes.md + echo "- **DEB** - Install via \`sudo dpkg -i jellytau_*.deb\` (Ubuntu/Debian)" >> release_notes.md echo "" >> release_notes.md echo "#### Android" >> release_notes.md - echo "- **APK** - Install via `adb install jellytau-release.apk` or sideload via file manager" >> release_notes.md + echo "- **APK** - Install via \`adb install jellytau-release.apk\` or sideload via file manager" >> release_notes.md echo "- **AAB** - Upload to Google Play Console or testing platforms" >> release_notes.md echo "" >> release_notes.md - echo "### ✨ What's New" >> release_notes.md + echo "### What's New" >> release_notes.md echo "" >> release_notes.md echo "See [CHANGELOG.md](CHANGELOG.md) for detailed changes." >> release_notes.md echo "" >> release_notes.md - echo "### 🔧 Installation" >> release_notes.md + echo "### Installation" >> release_notes.md echo "" >> release_notes.md echo "#### Linux (AppImage)" >> release_notes.md echo "\`\`\`bash" >> release_notes.md @@ -274,11 +274,11 @@ jobs: echo "- Sideload: Download APK and install via file manager or ADB" >> release_notes.md echo "- Play Store: Coming soon" >> release_notes.md echo "" >> release_notes.md - echo "### 🐛 Known Issues" >> release_notes.md + echo "### Known Issues" >> release_notes.md echo "" >> release_notes.md echo "See [GitHub Issues](../../issues) for reported bugs." >> release_notes.md echo "" >> release_notes.md - echo "### 📝 Requirements" >> release_notes.md + echo "### Requirements" >> release_notes.md echo "" >> release_notes.md echo "**Linux:**" >> release_notes.md echo "- 64-bit Linux system" >> release_notes.md @@ -289,7 +289,7 @@ jobs: echo "- 50MB free storage" >> release_notes.md echo "" >> release_notes.md echo "---" >> release_notes.md - echo "Built with Tauri, SvelteKit, and Rust đŸĻ€" >> release_notes.md + echo "Built with Tauri, SvelteKit, and Rust" >> release_notes.md - name: Publish Gitea release & upload assets env: @@ -313,11 +313,20 @@ jobs: '{tag_name:$tag, name:$name, body:$body, draft:false, prerelease:$pre}') echo "đŸ“Ļ Creating release $VERSION on $REPO" - RESP=$(curl -fsS -X POST "$API/repos/$REPO/releases" \ + # -f drops on HTTP error; capture status so an existing release (409) is handled gracefully. + HTTP=$(curl -sS -o resp.json -w '%{http_code}' -X POST "$API/repos/$REPO/releases" \ -H "Authorization: token $TOKEN" \ -H "Content-Type: application/json" \ -d "$PAYLOAD") - RELEASE_ID=$(echo "$RESP" | jq -r '.id') + if [ "$HTTP" = "201" ]; then + RELEASE_ID=$(jq -r '.id' resp.json) + elif [ "$HTTP" = "409" ]; then + echo "â„šī¸ Release $VERSION already exists; fetching its id to upload assets" + RELEASE_ID=$(curl -fsS "$API/repos/$REPO/releases/tags/$VERSION" \ + -H "Authorization: token $TOKEN" | jq -r '.id') + else + echo "❌ Failed to create release (HTTP $HTTP):"; cat resp.json; exit 1 + fi echo "Release id=$RELEASE_ID" for f in artifacts/android/* artifacts/linux/*; do