ci: use typecheck-only dependencies in CI

This commit is contained in:
Kazuhiro Sera
2026-05-12 07:42:05 +09:00
parent b2bd8218c6
commit 769fff579a
4 changed files with 51 additions and 5 deletions
+3 -3
View File
@@ -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."
+12 -2
View File
@@ -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
+12
View File
@@ -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",
Generated
+24
View File
@@ -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"