Skip to content

Release v0.1.13

Release v0.1.13 #17

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
test:
name: test (${{ matrix.os }}, py${{ matrix.python }})
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
python: ["3.9", "3.10", "3.11", "3.12"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install (editable, dev extra)
run: python -m pip install -e ".[dev]"
- name: Test + coverage
run: |
python -m coverage run --source=extract_cli -m pytest -q
python -m coverage report -m
typecheck:
name: typecheck (mypy --strict)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: python -m pip install -e ".[dev]"
- run: python -m mypy --strict extract_cli.py
- name: Schema is in sync
run: make spec-check
coverage:
name: coverage (100%)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
# `make coverage` installs the [docx]/[pdf] extras so the fidelity-reader
# paths run, and fails under 100%.
- run: make coverage
build-smoke:
name: build + wheel smoke
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: python -m pip install build
- run: python -m build
- name: Install wheel in a clean venv and run it
run: |
python -m venv /tmp/smoke
/tmp/smoke/bin/python -m pip install --upgrade pip
/tmp/smoke/bin/python -m pip install dist/*.whl
/tmp/smoke/bin/extract --version
/tmp/smoke/bin/extract demo --no-color | python scripts/validate_against_spec.py