fix(release): publish via gh cli with clobber upload

This commit is contained in:
2026-03-02 03:00:06 -08:00
parent be4db24861
commit f0bd0ba355

View File

@@ -278,45 +278,70 @@ jobs:
echo "$CHANGES" >> $GITHUB_OUTPUT echo "$CHANGES" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT
- name: Create Release - name: Publish Release
uses: softprops/action-gh-release@v2 env:
with: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
name: ${{ steps.version.outputs.VERSION }} run: |
body: | set -euo pipefail
## Changes
${{ steps.changelog.outputs.CHANGES }}
## Installation cat > release-body.md <<'EOF'
## Changes
${{ steps.changelog.outputs.CHANGES }}
### AppImage (Recommended) ## Installation
1. Download the AppImage below
2. Make it executable: `chmod +x SubMiner.AppImage`
3. Run: `./SubMiner.AppImage`
### macOS ### AppImage (Recommended)
1. Download `subminer-*.dmg` 1. Download the AppImage below
2. Open the DMG and drag `SubMiner.app` into `/Applications` 2. Make it executable: `chmod +x SubMiner.AppImage`
3. If needed, use the ZIP artifact as an alternative 3. Run: `./SubMiner.AppImage`
### Manual Installation ### macOS
See the [README](https://github.com/${{ github.repository }}#installation) for manual installation instructions. 1. Download `subminer-*.dmg`
2. Open the DMG and drag `SubMiner.app` into `/Applications`
3. If needed, use the ZIP artifact as an alternative
### Optional Assets (config example + mpv plugin + rofi theme) ### Manual Installation
1. Download `subminer-assets.tar.gz` See the [README](https://github.com/${{ github.repository }}#installation) for manual installation instructions.
2. Extract and copy `config.example.jsonc` to `~/.config/SubMiner/config.jsonc`
3. Copy `plugin/subminer/` directory contents to `~/.config/mpv/scripts/`
4. Copy `plugin/subminer.conf` to `~/.config/mpv/script-opts/`
5. Copy `assets/themes/subminer.rasi` to:
- Linux: `~/.local/share/SubMiner/themes/subminer.rasi`
- macOS: `~/Library/Application Support/SubMiner/themes/subminer.rasi`
Note: the `subminer` wrapper script uses Bun (`#!/usr/bin/env bun`), so `bun` must be installed and on `PATH`. ### Optional Assets (config example + mpv plugin + rofi theme)
files: | 1. Download `subminer-assets.tar.gz`
2. Extract and copy `config.example.jsonc` to `~/.config/SubMiner/config.jsonc`
3. Copy `plugin/subminer/` directory contents to `~/.config/mpv/scripts/`
4. Copy `plugin/subminer.conf` to `~/.config/mpv/script-opts/`
5. Copy `assets/themes/subminer.rasi` to:
- Linux: `~/.local/share/SubMiner/themes/subminer.rasi`
- macOS: `~/Library/Application Support/SubMiner/themes/subminer.rasi`
Note: the `subminer` wrapper script uses Bun (`#!/usr/bin/env bun`), so `bun` must be installed and on `PATH`.
EOF
if gh release view "${{ steps.version.outputs.VERSION }}" >/dev/null 2>&1; then
gh release edit "${{ steps.version.outputs.VERSION }}" \
--title "${{ steps.version.outputs.VERSION }}" \
--notes-file release-body.md \
--prerelease false
else
gh release create "${{ steps.version.outputs.VERSION }}" \
--title "${{ steps.version.outputs.VERSION }}" \
--notes-file release-body.md \
--prerelease false
fi
shopt -s nullglob
artifacts=(
release/*.AppImage release/*.AppImage
release/*.dmg release/*.dmg
release/*.zip release/*.zip
release/*.tar.gz release/*.tar.gz
release/SHA256SUMS.txt release/SHA256SUMS.txt
dist/launcher/subminer dist/launcher/subminer
draft: false )
prerelease: false
if [ "${#artifacts[@]}" -eq 0 ]; then
echo "No release artifacts found for upload."
exit 1
fi
for asset in "${artifacts[@]}"; do
gh release upload "${{ steps.version.outputs.VERSION }}" "$asset" --clobber
done