name: Build Windows on: push: tags: - 'v*' workflow_dispatch: jobs: build: runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install -r requirements-build.txt python scripts\make_icon.py - name: Build EXE (PyInstaller) run: | python -m PyInstaller --noconfirm --clean --onefile --windowed --name PulseGate --icon assets\pulsegate.ico desktop\pulsegate_desktop.py Get-Item dist\PulseGate.exe | Select-Object FullName, Length - name: Install Inno Setup shell: bash run: | choco install innosetup --no-progress --yes - name: Build installer run: iscc installer\installer.iss - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: PulseGate-Windows path: | dist/PulseGate.exe installer/output/*.exe - name: Release if: startsWith(github.ref, 'refs/tags/') uses: gitea/actions/release-action@v1 with: files: | dist/PulseGate.exe installer/output/*.exe