ag-ui-protocol / ag-ui-protocol/ag-ui
[Bug]: Python A2UI toolkit tests are not executed by the Python CI workflow
- Dominant language
- Python
- Stars
- 15.9k
- Forks
- 1.4k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 170
Description
## Describe the Bug
The Python A2UI toolkit test suite is not executed by the Python unit-test workflow. A change under `sdks/python/a2ui_toolkit/tests` can therefore trigger that workflow without its tests being run.
This tracks the CI gap flagged separately in the [review of #2696](https://github.com/ag-ui-protocol/ag-ui/pull/2696#issuecomment-5636192971); it does not expand the catalog-ID fix in that PR.
## Source Reproduction
Verified on `main` at `747933694b05676203da7d5bb8d8e50432e59b75` on 2026-09-13:
1. Inspect the [Python job's test step](https://github.com/ag-ui-protocol/ag-ui/blob/747933694b05676203da7d5bb8d8e50432e59b75/.github/workflows/unit-python-sdk.yml#L120). It runs `uv run --locked python -m unittest discover tests -v` with `working-directory: sdks/python`, so discovery starts at `sdks/python/tests`.
2. The A2UI toolkit tests live in the separate `sdks/python/a2ui_toolkit/tests` directory. Its [package manifest](https://github.com/ag-ui-protocol/ag-ui/blob/747933694b05676203da7d5bb8d8e50432e59b75/sdks/python/a2ui_toolkit/pyproject.toml) declares `python -m unittest discover tests` as the test command for that package.
3. Search `unit-python-sdk.yml` for `a2ui_toolkit`: the references are in the lockfile-exception bookkeeping, with no test job invoking that suite.
The reviewer ran the toolkit's 100 tests locally for #2696, but that manual validation does not provide continuing CI coverage. This issue is based on workflow/source inspection, not a newly submitted failing CI run.
## Expected Behavior
Add explicit CI execution of the Python A2UI toolkit tests, triggered by relevant toolkit and workflow changes, using the repository's pinned Python toolchain. A failing toolkit regression must fail a visible test job, and the unmodified suite must pass.
The existing missing-lockfile exception is documented separately as PNI-279 in the workflow. Test coverage and that lockfile/release decision should be handled explicitly rather than treating lockfile inspection as test execution.
## Environment / Additional Context
Source audit of the main revision above. Existing A2UI/CI issues were searched before filing. Codex assisted with source verification and this report.
Contributor guide
Research direction
Start with .github/workflows/unit-python-sdk.yml and inspect the existing Python test step, then compare it with sdks/python/a2ui_toolkit/pyproject.toml and sdks/python/a2ui_toolkit/tests. Run the toolkit's unittest discovery command with the pinned toolchain. Done means the unmodified suite passes in a visible CI job and a toolkit regression fails that job.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python
- Domain
- ci-cd, testing
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100