name: Build Windows # Construit l'exécutable autonome et l'installeur sur un runner Windows. # Déclenchable manuellement (onglet Actions) ou en poussant un tag v*. on: workflow_dispatch: push: tags: - "v*" jobs: build: runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: "22" - name: Build frontend working-directory: frontend run: | npm ci npm run build - name: Setup Python uses: actions/setup-python@v5 with: python-version: "3.12" - name: Install uv uses: astral-sh/setup-uv@v5 - name: Install dependencies (desktop + build) run: uv sync --group desktop --group build - name: Package with PyInstaller run: uv run pyinstaller packaging/plesna_gerance.spec --noconfirm --clean - name: Install Inno Setup run: choco install innosetup --no-progress -y - name: Build installer run: '& "${env:ProgramFiles(x86)}\Inno Setup 6\ISCC.exe" packaging\installer.iss' - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: PlesnaGerance-windows path: | dist/PlesnaGerance.exe dist/PlesnaGerance-Setup.exe if-no-files-found: error