tts-api / .github /workflows /build-exe.yml
Shackless's picture
allow workflow to create release
0959247
Raw
History Blame Contribute Delete
2.02 kB
# Build Windows Executable
# Triggered on version tags (e.g., v1.0.0)
name: Build Windows EXE
on:
push:
tags:
- '*'
workflow_dispatch: # Allow manual trigger
jobs:
build:
runs-on: windows-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pyinstaller
- name: Build executable
run: |
pyinstaller --noconfirm --clean --onefile ^
--name "PocketTTS-Server" ^
--add-data "static;static" ^
--add-data "templates;templates" ^
--add-data "voices;voices" ^
--add-data "app;app" ^
--collect-all "pocket_tts" ^
--hidden-import "waitress" ^
--hidden-import "engineio.async_drivers.threading" ^
server.py
shell: cmd
- name: Create release package
run: |
mkdir release
copy dist\PocketTTS-Server.exe release\
copy run_pocket_tts_server_exe.bat release\
copy README.md release\
copy LICENSE release\
shell: cmd
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: PocketTTS-Server-Windows
path: release/
retention-days: 30
- name: Create GitHub Release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
files: |
release/PocketTTS-Server.exe
release/run_pocket_tts_server_exe.bat
release/README.md
draft: false
prerelease: false
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}