| |
| |
|
|
| name: Build Windows EXE |
|
|
| on: |
| push: |
| tags: |
| - '*' |
| workflow_dispatch: |
|
|
| 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 }} |
|
|