ci: use typecheck-only dependencies in CI
This commit is contained in:
@@ -55,12 +55,12 @@ jobs:
|
||||
with:
|
||||
version: "0.11.7"
|
||||
enable-cache: true
|
||||
- name: Install dependencies
|
||||
- name: Install typecheck dependencies
|
||||
if: steps.changes.outputs.run == 'true'
|
||||
run: make sync
|
||||
run: make sync-typecheck
|
||||
- name: Run typecheck
|
||||
if: steps.changes.outputs.run == 'true'
|
||||
run: make typecheck
|
||||
run: make typecheck-no-sync
|
||||
- name: Skip typecheck
|
||||
if: steps.changes.outputs.run != 'true'
|
||||
run: echo "Skipping typecheck for non-code changes."
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
.PHONY: sync
|
||||
UV_RUN ?= uv run
|
||||
|
||||
sync:
|
||||
uv sync --all-extras --all-packages --group dev
|
||||
|
||||
.PHONY: sync-typecheck
|
||||
sync-typecheck:
|
||||
uv sync --all-extras --no-default-groups --group typecheck
|
||||
|
||||
.PHONY: format
|
||||
format:
|
||||
uv run ruff format
|
||||
@@ -17,11 +23,11 @@ lint:
|
||||
|
||||
.PHONY: mypy
|
||||
mypy:
|
||||
uv run mypy . --exclude site
|
||||
$(UV_RUN) mypy . --exclude site
|
||||
|
||||
.PHONY: pyright
|
||||
pyright:
|
||||
uv run pyright --project pyrightconfig.json
|
||||
$(UV_RUN) pyright --project pyrightconfig.json
|
||||
|
||||
.PHONY: typecheck
|
||||
typecheck:
|
||||
@@ -36,6 +42,10 @@ typecheck:
|
||||
wait $$pyright_pid; \
|
||||
trap - EXIT
|
||||
|
||||
.PHONY: typecheck-no-sync
|
||||
typecheck-no-sync:
|
||||
$(MAKE) typecheck UV_RUN='uv run --no-sync'
|
||||
|
||||
.PHONY: tests
|
||||
tests: tests-parallel tests-serial
|
||||
|
||||
|
||||
@@ -60,6 +60,18 @@ temporal = [
|
||||
]
|
||||
|
||||
[dependency-groups]
|
||||
typecheck = [
|
||||
"mypy",
|
||||
"pyright==1.1.408",
|
||||
"pytest",
|
||||
"fastapi >= 0.110.0, <1",
|
||||
"aiosqlite>=0.21.0",
|
||||
"fakeredis>=2.31.3",
|
||||
"testcontainers==4.12.0",
|
||||
"playwright==1.50.0",
|
||||
"inline-snapshot>=0.20.7",
|
||||
"sounddevice",
|
||||
]
|
||||
dev = [
|
||||
"mypy",
|
||||
"ruff==0.9.2",
|
||||
|
||||
@@ -2547,6 +2547,18 @@ dev = [
|
||||
{ name = "types-pynput" },
|
||||
{ name = "websockets" },
|
||||
]
|
||||
typecheck = [
|
||||
{ name = "aiosqlite" },
|
||||
{ name = "fakeredis" },
|
||||
{ name = "fastapi" },
|
||||
{ name = "inline-snapshot" },
|
||||
{ name = "mypy" },
|
||||
{ name = "playwright" },
|
||||
{ name = "pyright" },
|
||||
{ name = "pytest" },
|
||||
{ name = "sounddevice" },
|
||||
{ name = "testcontainers" },
|
||||
]
|
||||
|
||||
[package.metadata]
|
||||
requires-dist = [
|
||||
@@ -2621,6 +2633,18 @@ dev = [
|
||||
{ name = "types-pynput" },
|
||||
{ name = "websockets" },
|
||||
]
|
||||
typecheck = [
|
||||
{ name = "aiosqlite", specifier = ">=0.21.0" },
|
||||
{ name = "fakeredis", specifier = ">=2.31.3" },
|
||||
{ name = "fastapi", specifier = ">=0.110.0,<1" },
|
||||
{ name = "inline-snapshot", specifier = ">=0.20.7" },
|
||||
{ name = "mypy" },
|
||||
{ name = "playwright", specifier = "==1.50.0" },
|
||||
{ name = "pyright", specifier = "==1.1.408" },
|
||||
{ name = "pytest" },
|
||||
{ name = "sounddevice" },
|
||||
{ name = "testcontainers", specifier = "==4.12.0" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openresponses-types"
|
||||
|
||||
Reference in New Issue
Block a user