chore(ci): update build workflow to include Windows support and improve release asset handling
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user