diff --git a/.github/workflows/github-ci.yaml b/.github/workflows/github-ci.yaml index 9bf0ecd6d..b6e1b4504 100644 --- a/.github/workflows/github-ci.yaml +++ b/.github/workflows/github-ci.yaml @@ -1,5 +1,5 @@ # This workflow will install Python dependencies, run tests and lint with a variety of Python versions -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions +# For more information see: https://docs.github.com/en/actions/tutorials/build-and-test-code/python name: CI @@ -51,6 +51,40 @@ jobs: run: | python -m pytest tests --cov=pypdf --cov-append -n auto -vv -p no:benchmark + test_macos: + name: pytest on macOS + runs-on: macos-latest + steps: + - name: Checkout Code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + - name: Setup Python (3.11+) + uses: actions/setup-python@v5 + with: + python-version: 3.13 # latest stable python + allow-prereleases: true + - name: Upgrade pip + run: | + python -m pip install --upgrade pip + - name: Install requirements (Python 3.11+) + run: | + pip install -r requirements/ci-3.11.txt + - name: Install cryptography + run: | + pip install cryptography + - name: Install OS dependencies + run: + brew install ghostscript jbig2dec poppler + - name: Install pypdf + run: | + pip install . + - name: Prepare + run: | + python -c "from tests import download_test_pdfs; download_test_pdfs()" + - name: Test with pytest + run: | + python -m pytest tests --cov=pypdf --cov-append -n auto -vv -p no:benchmark tests: name: "pytest on ${{ matrix.python-version }} (crypto-lib: ${{ matrix.use-crypto-lib }})"