browsertrix/.github/workflows/lint.yaml
Ilya Kreymer 6384d8b5f1
Additional Type Hints / Type Fix Pass (#1320)
This PR adds more type safety to the backend codebase:
- All ops classes calls should be type checked
- Avoiding circular references with TYPE_CHECKING conditional
- Consistent UUID usage: uuid.UUID / UUID4 with just UUID
- Crawl states moved to models, made into lists
- Additional typing added as needed, fixed a few type related errors
- CrawlOps / UploadOps / BaseCrawlOps now all have same param init order
to simplify changes
2023-10-30 12:59:24 -04:00

43 lines
882 B
YAML

name: Backend Lint + Type Check
on:
push:
paths:
- 'backend/**'
pull_request:
paths:
- 'backend/**'
jobs:
unit-tests:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: '3.10'
- name: Install dependencies
run: |
cd backend/
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -U black pylint mypy
- name: Style Check
run: |
black --check backend/btrixcloud/
- name: Lint Check
run: |
cd backend/
pylint btrixcloud/
- name: Type Check
run: |
cd backend/
mypy --install-types --non-interactive --check-untyped-defs btrixcloud/