Skip to content

Add pyright type-checking to examples, fix discoveries #81

Add pyright type-checking to examples, fix discoveries

Add pyright type-checking to examples, fix discoveries #81

Workflow file for this run

name: Type Check (pyright)
on:
push:
branches:
- "main"
tags:
- "v*"
- "azuremanaged-v*"
pull_request:
branches:
- "main"
permissions:
contents: read
jobs:
pyright:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python 3.10 (lowest supported)
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install packages and dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
# Install third-party dependencies declared by the examples so they
# type-check cleanly. Each example's requirements.txt is the single
# source of truth for its dependencies.
for req in examples/requirements.txt examples/*/requirements.txt; do
pip install -r "$req"
done
# Install the packages under test from local source last (non-editable
# so the durabletask / durabletask.azuremanaged namespace packages are
# physically merged in site-packages, which pyright can resolve). This
# overrides any PyPI copy pulled in by the example requirements above.
pip install --force-reinstall --no-deps . ./durabletask-azuremanaged
pip install ".[azure-blob-payloads,opentelemetry]"
pip install pyright
- name: Run pyright (strict, Python 3.10)
run: pyright