ci: enable project automation workflow on main branch #68
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test Build NullifyPDF | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| actions: read | |
| jobs: | |
| build: | |
| name: Build for ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [windows-latest, ubuntu-22.04, macos-latest] | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.12' | |
| cache: 'pip' # CACHE RIPRISTINATA! | |
| - name: Install System Dependencies (Linux) | |
| if: runner.os == 'Linux' | |
| run: sudo apt-get update && sudo apt-get install -y rpm dpkg binutils libxcb-cursor0 libxkbcommon-x11-0 libegl1 desktop-file-utils | |
| - name: Install Python Dependencies (includes spaCy models) | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements.txt | |
| - name: Run Smoke Tests | |
| run: pytest tests/ -v | |
| - name: Type Check (mypy) | |
| run: mypy NullifyPDF.py --ignore-missing-imports --no-error-summary 2>&1 | head -50 || true | |
| - name: Build | |
| run: python build_local.py | |
| - name: Upload Artifact | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: test-build-${{ runner.os }} | |
| path: | | |
| dist/NullifyPDF_v*_Windows.exe | |
| dist/NullifyPDF_v*_macOS.zip | |
| dist/NullifyPDF_v*_Ubuntu.deb | |
| dist/NullifyPDF_v*_Fedora.rpm | |
| retention-days: 3 |