name: builds on: push: branches: main pull_request: branches: main jobs: build: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] python: ["3.10", "3.11"] steps: - uses: actions/checkout@v5 - if: matrix.os == 'macos-latest' name: Install MacOS prerequisites run: brew install cairo pango gdk-pixbuf libffi - name: Set up Python uses: actions/setup-python@v5 with: # MacOS issue ref.: https://github.com/actions/setup-python/issues/855 & https://github.com/actions/setup-python/issues/865 python-version: ${{ matrix.os == 'macos-latest' && matrix.python == '3.10' && '3.11' || matrix.python }} architecture: x64 - name: Cache python modules uses: actions/cache@v4 with: path: ~/.cache/pip key: ${{ runner.os }}-pkg-deps-${{ matrix.python }}-${{ hashFiles('pyproject.toml') }} - name: Install package run: | python -m pip install --upgrade pip if [ "${{ runner.os }}" = "Windows" ]; then pip install -e .[viz] --upgrade else pip install -e .[viz,html] --upgrade fi shell: bash # Ensures shell is consistent across OSes - name: Import package run: python -c "import doctr; print(doctr.__version__)"