name: Build on: workflow_dispatch: push: branches: - master jobs: build: runs-on: windows-latest strategy: matrix: include: - name: "DUCE-GUI-windows" mode: "-w" script: "gui" - name: "DUCE-CLI-windows" mode: "-c" script: "cli" steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.11" cache: "pip" - name: Install dependencies and PyInstaller run: pip install -r requirements.txt pyinstaller -U - name: Build ${{ matrix.name }} run: > pyinstaller -y -F ${{ matrix.mode }} -i "extra/DUCE-LOGO.ico" --clean --name "${{ matrix.name }}" --add-data "base.py;." --add-data "colors.py;." --add-data "default-duce-${{ matrix.script }}-settings.json;." --add-data "README.md;." --add-data "LICENSE;." "${{ matrix.script }}.py" - name: Upload ${{ matrix.name }}.exe uses: actions/upload-artifact@v4 with: name: ${{ matrix.name }}.exe path: ./dist/${{ matrix.name }}.exe