Repository navigation
[Feature]: Community help wanted — CPU-only API tests in CI #46
Description
Feature, motivation and pitch
Community help wanted: strengthen System1-Omni's basic API tests in CI. We do not have GPU resources; this contribution must run on standard CPU-only GitHub-hosted runners using deterministic mock workers, without model weights or inference dependencies.
We already have GitHub Actions CI running Rust formatting, Clippy, workspace tests, and a release build. The frontend integration tests exercise real sockets with mock workers, covering health, multimodal byte preservation, authorization, large uploads, backend errors, timeouts, and binary startup/shutdown. These tests already run in CI.
The immediate task is to extend that API coverage where there are gaps and make it easy for contributors to run and diagnose. Reuse the existing test harness and CI workflow.
Proposed first contribution
- Add deterministic request/response fixtures for
POST /v1/systemonecoveringchoice,score, andnoul, separately and together. Assert that status, content type, and body are preserved through the frontend. - Check route behavior for unsupported methods and unknown paths, including that rejected requests do not reach the worker.
- Cover decision requests with a backend path prefix and query parameters, complementing the existing health-path test.
- Identify any remaining gaps in health and backend-error coverage before adding cases; avoid duplicating existing tests.
- Keep tests bounded, use dynamically allocated local ports, and clean up task-owned child processes where applicable.
- Ensure the API tests run on every PR in the existing CPU CI workflow, with readable failures and a documented focused test command.
The frontend currently forwards payloads and leaves parsing and validation to the worker. Tests should verify that boundary, including forwarding worker validation errors, rather than introduce new frontend schema validation.
Acceptance criteria
- Runs on a standard CPU-only GitHub-hosted runner with no GPU, checkpoint downloads, model serving packages, or external inference service.
- Extends the existing mock-worker tests with meaningful coverage of missing API behavior.
- Passes the repository's Rust checks and documents how to run the API suite locally.
Real-model inference tests and hardware-backed E2E tests are outside this issue's scope.
Reference
Use vLLM-Omni's API tests and CPU entrypoint CI checks as references for API coverage and separation from inference testing. Our initial setup should remain small and fit the existing Rust frontend.
How to help
Contributions are welcome from people familiar with Rust HTTP testing or GitHub Actions. Please comment if you would like to take this on, suggest missing API cases, or help validate the tests. A focused PR extending the existing suite and documenting reproduction commands would be a useful first step.
Please follow CONTRIBUTING.md, including self-review and reporting the checks you ran before requesting maintainer review.
Activity
[-][Feature]: Community help wanted — real-worker API smoke tests in CI[/-][+][Feature]: Community help wanted — CPU-only API tests in CI[/+]MrDongsls commentedon Sep 30, 2026
Hi, I’d be happy to take this on. I’ll extend the existing mock-worker API tests with the proposed coverage, keep everything CPU-only and deterministic, and document the focused local test command. I’ll also run the required Rust checks and report the results before requesting review. Thanks!
hsliuustc0106 commentedon Oct 3, 2026
pin me when a PR ready