name: Lint and check types on: [push, pull_request] jobs: build: runs-on: [ubuntu-latest] steps: - uses: actions/checkout@v3 - name: Set up Python 3.11 uses: https://github.com/actions/setup-python@v4 with: python-version: "3.11" - name: Install poetry run: | pip install pipx pipx install poetry - name: Validate the structure of the pyproject.toml run: | poetry check - name: Verify that poetry.lock is consistent with pyproject.toml run: | poetry lock --check - name: Install dependencies run: | poetry install - name: Check code formatting by black run: | poetry run black . --check - name: Lint code by ruff run: | poetry run ruff . - name: Check types by pyright run: | poetry run pyright