Repository navigation
[CI] test: Run the CPU unit tests on GitHub-hosted runners - #31
Merged
Merged
Conversation
test/unit runs on CPU but imports the installed SGLang, torch, FlashInfer, CuTe DSL and the CUDA Python bindings. Install them from an SGLang nightly wheel (prebuilt, so no Rust build) on ubuntu-latest, as SGLang's own CPU stage does. PRs pin one nightly; the scheduled run takes the newest. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every run now installs the pinned SGLang nightly; a PR moves the pin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
em-dreyer
marked this pull request as ready for review
October 29, 2026 22:42
3 of 5 tasks
2 of 5 tasks
Oasis-Git
pushed a commit
that referenced
this pull request
Nov 3, 2026
#31 kept --continue-on-collection-errors from a temporary debugging commit. A test module that fails to import should fail the job at collection. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
test/unitis CPU-only but nothing runs it in CI. SGLang runs its own CPU unit-test stage on GitHub-hostedubuntu-latest. For a public repo, standard hosted runners are free, so these tests don't need self-hosted runners.Modifications
Adds
.github/workflows/unit-test.yml, oneubuntu-latestjob:sgl-project/whl. The wheel is prebuilt, so CI doesn't need Rust or protoc. The plugin needs SGLang main from [Refactor] kernels: Add the plugin kernel backend and split plugin contracts from their srt integration sglang#45389 on, and no tagged release has that yet.main. Those runs install the SGLang nightly pinned inSGLANG_NIGHTLY_TAG(currentlynightly-2026-10-28-15d39bd840), so an SGLang change can't break unrelated PRs. To move to a newer SGLang, a person edits that one line in a normal PR.Not covered:
test/kernelsandtest/e2eneed GB300s and are left for a separate change. A daily run against the newest SGLang nightly, whichtest_contract.pyasks for, is left out for now.Accuracy Tests
N/A, this PR only adds CI.
Speed Tests and Profiling
N/A.
Checklist
pre-commit run --all-filespasses.test/cover the change. The first run of this workflow is the test. Some unit tests may still need GPU skip marks..github/CODEOWNERSthat names its owner. (N/A)Once this is green, a repo admin can add
Unit Testas a required check in themainruleset.🤖 Generated with Claude Code