chore(ci): update build workflow to include Windows support and improve release asset handling
Some checks failed
CI / lint (push) Failing after 4m54s
CI / build-frontend (push) Successful in 9m32s

This commit is contained in:
2026-01-02 09:31:16 -06:00
parent 20c0e10767
commit fea9389a14

View File

@@ -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