name: Build Windows Executable on: push: branches: [ main, master, develop ] pull_request: branches: [ main, master, develop ] jobs: build-windows: runs-on: windows-latest strategy: matrix: python-version: ['3.11'] steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip setuptools wheel pip install -r requirements_windows.txt - name: Build executable with PyInstaller run: | pyinstaller label_printer_gui.py --onefile --windowed --name=LabelPrinter --distpath=./dist --workpath=./build --hidden-import=kivy --hidden-import=kivy.core.window --hidden-import=kivy.core.text --hidden-import=kivy.core.image --hidden-import=kivy.uix.boxlayout --hidden-import=kivy.uix.gridlayout --hidden-import=kivy.uix.label --hidden-import=kivy.uix.textinput --hidden-import=kivy.uix.button --hidden-import=kivy.uix.spinner --hidden-import=kivy.uix.scrollview --hidden-import=kivy.uix.popup --hidden-import=kivy.clock --hidden-import=kivy.graphics --hidden-import=PIL --hidden-import=barcode --hidden-import=reportlab --hidden-import=print_label --hidden-import=print_label_pdf - name: Upload Windows executable as artifact uses: actions/upload-artifact@v4 with: name: LabelPrinter-Windows path: dist/LabelPrinter.exe retention-days: 30 - name: Create Release and Upload if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v1 with: files: dist/LabelPrinter.exe env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}