name: Build Windows EXE (Nuitka) on: workflow_dispatch: # declenchement manuel depuis GitHub push: tags: - 'v*' # build automatique sur tag v5.0, v5.1, etc. jobs: build-windows: runs-on: windows-latest timeout-minutes: 45 steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.12' cache: pip - name: Install dependencies run: | python -m pip install --upgrade pip setuptools wheel pip install -r requirements.txt pip install nuitka orderedset zstandard - name: Build with Nuitka run: | python -m nuitka ` --standalone ` --onefile ` --enable-plugin=tk-inter ` --include-module=anonymizer_core_refactored_onnx ` --include-module=ner_manager_onnx ` --include-module=eds_pseudo_manager ` --include-data-dir=config=config ` --windows-console-mode=disable ` --output-filename=Pseudonymisation.exe ` --company-name="Hopital" ` --product-name="Pseudonymisation de PDF" ` --product-version=5.0.0 ` --file-description="Pseudonymisation automatique de documents PDF" ` --assume-yes-for-downloads ` --remove-output ` Pseudonymisation_Gui_V5.py - name: Prepare release archive run: | New-Item -ItemType Directory -Force -Path dist Copy-Item Pseudonymisation.exe dist/ Copy-Item -Recurse config dist/config - name: Upload artifact uses: actions/upload-artifact@v4 with: name: Pseudonymisation-Windows-x64 path: dist/ retention-days: 30 - name: Upload to release (on tag) if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v2 with: files: | dist/Pseudonymisation.exe