MAINT: installing the minimal versions of the dependencies in the test pipeline, to ensure that they remain compatible #299
Workflow file for this run
This file contains 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
# 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 | |
name: CI | |
on: | |
push: | |
branches: [ main ] | |
paths-ignore: | |
- '**/*.md' | |
- '**/*.rst' | |
pull_request: | |
branches: [ main ] | |
paths-ignore: | |
- '**/*.md' | |
- '**/*.rst' | |
workflow_dispatch: | |
jobs: | |
tests: | |
name: pytest on ${{ matrix.python-version }} | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Upgrade pip | |
run: python -m pip install --upgrade pip | |
- name: Install requirements (Python 3) | |
run: pip install -r requirements/ci.txt -r requirements/dev.txt | |
- name: Install pdfly | |
run: | | |
# We want to install the minimal versions of the dependencies, | |
# to ensure that they remain compatible: | |
sed -i '/dependencies = \[/,/\]/s/>=/==/' pyproject.toml | |
pip install . | |
- name: Run tests | |
run: pytest -vv | |
codestyle: | |
name: Check code style issues | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Cache Downloaded Files | |
id: cache-downloaded-files | |
uses: actions/cache@v4 | |
with: | |
path: '**/tests/pdf_cache/*' | |
key: cache-downloaded-files | |
- name: Upgrade pip | |
run: python -m pip install --upgrade pip | |
- name: Install requirements | |
run: pip install -r requirements/ci.txt | |
- name: Install pdfly | |
run: pip install . | |
- name: Lint with black | |
run: black --check --extend-exclude sample-files . | |
- name: Lint with mypy | |
run: mypy . --ignore-missing-imports --exclude build | |
- name: Test with ruff | |
run: | | |
echo `ruff --version` | |
ruff check pdfly/ | |
package: | |
name: Build & verify package | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{env.PYTHON_LATEST}} | |
- run: python -m pip install flit check-wheel-contents | |
- run: flit build | |
- run: ls -l dist | |
- run: check-wheel-contents dist/*.whl | |
- name: Test installing package | |
run: python -m pip install . | |
- name: Test running installed package | |
working-directory: /tmp | |
run: python -c "import pdfly;print(pdfly.__version__)" |