Type check #73
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: Type check | |
# see: https://help.github.com/en/actions/reference/events-that-trigger-workflows | |
on: # Trigger the workflow on pull request or merge | |
schedule: | |
- cron: "0 0 * * *" # daily at midnight UTC | |
workflow_dispatch: # allows manual triggering of the workflow | |
# pull_request: | |
# push: | |
# branches: | |
# - main | |
defaults: | |
run: | |
shell: bash | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref }} | |
cancel-in-progress: true | |
permissions: {} | |
jobs: | |
type-check: | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] | |
optional-dependencies: | |
- "none" | |
# LLMs | |
- "openai" | |
- "gemini" | |
- "anthropic" | |
- "deepseek" | |
# optional dependencies | |
- "browser-use" | |
- "commsagent-discord" | |
- "commsagent-slack" | |
- "commsagent-telegram" | |
- "jupyter-executor" | |
- "retrievechat" | |
- "retrievechat-pgvector" | |
- "retrievechat-mongodb" | |
- "retrievechat-qdrant" | |
- "graph-rag-falkor-db" | |
- "neo4j" | |
- "twilio" | |
- "interop" | |
- "crawl4ai" | |
- "docs" | |
- "interop-crewai" | |
- "interop-langchain" | |
- "interop-pydantic-ai" | |
- "websockets" | |
exclude: | |
# pdoc3 is failing in python 3.9 for some reason, we build docs with Python 3.10 | |
- python-version: "3.9" | |
optional-dependencies: "docs" | |
# graphrag_sdk uses pipe(|) in signature which is unsupported in python 3.9 | |
- python-version: "3.9" | |
optional-dependencies: "graph-rag-falkor-db" | |
# Issues with installing retrievechat-qdrant in python 3.13 | |
- python-version: "3.13" | |
optional-dependencies: "retrievechat-qdrant" | |
# Browser use doesn't support below python 3.11 | |
- python-version: "3.9" | |
optional-dependencies: "browser-use" | |
- python-version: "3.10" | |
optional-dependencies: "browser-use" | |
runs-on: ubuntu-latest | |
environment: permit-tests | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: astral-sh/setup-uv@v5 | |
with: | |
version: "latest" | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# All additional modules should be defined in pyproject.toml | |
- run: uv pip install --system ".[types]" | |
if: matrix.optional-dependencies == 'none' | |
- run: uv pip install --system ".[types, ${{ matrix.optional-dependencies }}]" | |
if: matrix.optional-dependencies != 'none' | |
# Any additional configuration should be defined in pyproject.toml | |
- run: | | |
mypy |