@@ -309,12 +309,47 @@ jobs:
309309 [[ "$TAG" == v* ]] || TAG="${{ github.event.inputs.tag || 'v0.0.1-electron' }}"
310310 echo "tag=$TAG" >> "$GITHUB_OUTPUT"
311311
312+ - name : Check if Release Exists
313+ id : release_check
314+ run : |
315+ if gh release view "${{ steps.tag.outputs.tag }}"; then
316+ echo "Release exists."
317+ echo "::set-output name=exists::true"
318+ else
319+ echo "Release does not exist."
320+ echo "::set-output name=exists::false"
321+ fi
322+
323+ - name : Create Release if missing
324+ if : steps.release_check.outputs.exists != 'true'
325+ uses : softprops/action-gh-release@v2
326+ with :
327+ tag_name : ${{ steps.tag.outputs.tag }}
328+ draft : false
329+ prerelease : false
330+ name : ' ${{ steps.tag.outputs.tag}}'
331+ body : |
332+ ## ACE-Step CPP UI ${{ steps.tag.outputs.tag }} — Electron Desktop App
333+
334+ Native desktop application with embedded server and precompiled
335+ [acestep.cpp](https://github.com/audiohacking/acestep.cpp) binaries bundled — no compiler or build step required.
336+
337+ ### Downloads
338+
339+ | File | Platform |
340+ |------|----------|
341+ | `*.dmg` | macOS — Apple Silicon (arm64) |
342+ | `*.AppImage` | Linux — x86_64 (portable, any distro) |
343+ | `*.snap` | Linux — x86_64 (Snap Store / snapd) |
344+
345+
312346 - name : Upload to release
313347 if : steps.tag.outputs.tag
314348 env :
315349 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
316350 run : |
317351 gh release upload "${{ steps.tag.outputs.tag }}" \
318352 release-artifacts/*.snap \
353+ release-artifacts/*.AppImage \
319354 release-artifacts/*.dmg \
320355 --clobber
0 commit comments