Skip to content

Workflow file for this run

name: Build and Compile
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: windows-latest
steps:
# Checkout the code
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
# Build the DLL
- name: Build DLL using CMake
run: |
cd engine
mkdir build
cd build
cmake ..
cmake --build . --config Debug
cmake --build . --config Release
- name: Print contents of build/bin directory
run: |
dir engine/build
dir engine/build/Release
# Move the DLL to VoiceServer directory
- name: Move DLL to VoiceServer directory
run: |
move engine/build/*.dll VoiceServer/
- name: Set up UV
uses: yezz123/setup-uv@v4
- name: Sync UV dependencies
run: |
cd VoiceServer
uv sync
# Compile VoiceServer.py using Nuitka inside UV virtual environment
- name: Compile VoiceServer.py with Nuitka
run: |
cd VoiceServer
dir
uv run python -m nuitka --standalone --onefile VoiceServer.py
# uv run python -m nuitka --standalone --onefile VoiceServer.py --include-data-files=pysapittsengine.dll=.
# Compile RegisterVoice.py using Nuitka inside UV virtual environment
- name: Compile RegisterVoice.py with Nuitka
run: |
cd VoiceServer
uv run python -m nuitka --standalone --onefile RegisterVoice.py
- name: Build Installer with Inno Setup
run: |
cd VoiceServer
"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" /Q buildinstaller.iss
# Archive the compiled executables
- name: Archive the output
uses: actions/upload-artifact@v4
with:
name: compiled-executables
path: |
VoiceServer/VoiceServer.exe
VoiceServer/RegisterVoice.exe