diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 6fd170c..cb2b501 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -71,7 +71,7 @@ jobs: - name: Install system dependencies run: | sudo apt-get update - sudo apt-get install -y patchelf libopusfile0 ffmpeg espeak-ng + sudo apt-get install -y patchelf libopusfile0 ffmpeg espeak-ng wine nsis - name: Setup Task uses: https://git.quad4.io/actions/setup-task@0ab1b2a65bc55236a3bc64cde78f80e20e8885c2 # v1 @@ -87,24 +87,38 @@ jobs: - name: Build Python wheel run: task wheel - - name: Build Electron App (Universal) - run: pnpm run dist-prebuilt + - name: Build Electron App (Linux) + run: task build-electron-linux + + - name: Build Electron App (Windows) + run: task build-electron-windows - name: Prepare release assets run: | mkdir -p release-assets # Collect artifacts find dist -type f \( -name "*-linux*.AppImage" -o -name "*-linux*.deb" \) -exec cp {} release-assets/ \; + find dist -type f \( -name "*-win*.exe" -o -name "*-win-portable*.exe" \) -exec cp {} release-assets/ \; find python-dist -type f -name "*.whl" -exec cp {} release-assets/ \; # Generate checksums cd release-assets + for file in *; do + if [ -f "$file" ] && [[ "$file" != *.sha256 ]]; then + sha256sum "$file" | tee "${file}.sha256" + fi + done + + # Generate release notes (outside release-assets directory) + cd .. echo "## SHA256 Checksums" > release-body.md echo "" >> release-body.md - for file in *; do - if [ -f "$file" ] && [ "$file" != "release-body.md" ] && [[ "$file" != *.sha256 ]]; then - sha256sum "$file" | tee "${file}.sha256" - echo "\`$(cat "${file}.sha256")\`" >> release-body.md + for file in release-assets/*; do + if [ -f "$file" ] && [[ "$file" != *.sha256 ]] && [[ "$file" != *release-body.md* ]]; then + filename=$(basename "$file") + if [ -f "release-assets/${filename}.sha256" ]; then + echo "\`$(cat "release-assets/${filename}.sha256")\`" >> release-body.md + fi fi done @@ -129,8 +143,13 @@ jobs: gitea_token: ${{ secrets.GITEA_TOKEN }} title: ${{ steps.version.outputs.version }} tag: ${{ steps.version.outputs.version }} - files: "release-assets/*" - bodyFile: "release-assets/release-body.md" + files: | + release-assets/*.AppImage + release-assets/*.deb + release-assets/*.exe + release-assets/*.whl + release-assets/*.sha256 + body_path: "release-body.md" draft: false prerelease: false