Configure uv, pyink, and pytype, and fix lint/type errors. #333
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
name: Unittests | |
on: | |
# Allow to trigger the workflow manually (e.g. when deps changes) | |
workflow_dispatch: | |
# Run on pushes to main | |
push: | |
branches: | |
- main | |
# Run on pull requests to main (including test branches) | |
pull_request: | |
branches: | |
- main | |
jobs: | |
unittest-job: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}-${{ github.head_ref || 'none' }} | |
cancel-in-progress: true | |
steps: | |
- uses: actions/checkout@v3 | |
# Install deps | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.10.14 | |
# Uncomment to cache of pip dependencies (if tests too slow) | |
# cache: pip | |
# cache-dependency-path: '**/pyproject.toml' | |
- uses: astral-sh/setup-uv@v3 | |
with: | |
version: "0.4.17" | |
- name: Install dependencies | |
run: | | |
uv sync --locked --extra extras --extra dev | |
# Check formatting | |
- name: Check pyink formatting | |
run: uv run pyink penzai --check | |
- name: Run pylint | |
run: uv run pylint penzai | |
# Run tests | |
- name: Run tests | |
run: uv run python run_tests.py | |
# Run typechecker | |
- name: Run pytype | |
run: uv run pytype --jobs auto penzai |