-
Notifications
You must be signed in to change notification settings - Fork 240
83 lines (80 loc) · 2.62 KB
/
type-check.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
name: Type check
# see: https://help.github.com/en/actions/reference/events-that-trigger-workflows
on: # Trigger the workflow on pull request or merge
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