Skip to content

Discrepancy Between make check and CI #1350

@habema

Description

@habema

I noticed that make check fails locally due to formatting issues (ruff format --check), but CI passes just fine. Looks like the CI doesn't run make check. Instead, it runs individual steps which aren't identical to make check. Those steps don't include the format check.

What make check Does

  1. format-check (uv run ruff format --check)
  2. lint (uv run ruff check)
  3. mypy (uv run mypy .)
  4. tests (uv run pytest)

What CI Runs

  • make lint
  • make mypy
  • make coverage (which includes tests)
  • make build-docs
  • make old_version_tests

Also, typecheck passed on the CI, but not locally.
Currently, HEAD is at 818344c

❯ git clone https://github.com/openai/openai-agents-python
Cloning into 'openai-agents-python'...
remote: Enumerating objects: 7573, done.
remote: Counting objects: 100% (1357/1357), done.
remote: Compressing objects: 100% (199/199), done.
remote: Total 7573 (delta 1266), reused 1159 (delta 1158), pack-reused 6216 (from 2)
Receiving objects: 100% (7573/7573), 6.98 MiB | 8.97 MiB/s, done.
Resolving deltas: 100% (4497/4497), done.
❯ cd openai-agents-python
❯ make sync
...

❯ make mypy
uv run mypy .
examples/realtime/app/server.py:7: error: Module "typing" has no attribute "assert_never"  [attr-defined]
examples/realtime/app/server.py:7: note: Use `from typing_extensions import assert_never` instead
examples/realtime/app/server.py:7: note: See https://mypy.readthedocs.io/en/stable/runtime_troubles.html#using-new-additions-to-the-typing-module
Found 1 error in 1 file (checked 280 source files)
make: *** [mypy] Error 1

❯ make format-check
uv run ruff format --check
Would reformat: src/agents/run.py
Would reformat: src/agents/tracing/processors.py
Would reformat: tests/test_agent_clone_shallow_copy.py
Would reformat: tests/test_stream_events.py
4 files would be reformatted, 277 files already formatted
make: *** [format-check] Error 1

I ran into this issue working on another PR, but make format-check and make mypy fail on files unrelated to my changes.
Could you please give this a look?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions