Harmonizing typer usage #243
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: 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 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__)" |