ag-ui-protocol / ag-ui-protocol/ag-ui

[Bug]: Python A2UI toolkit tests are not executed by the Python CI workflow

Closed Beginner friendly
#2,743 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.