Repository navigation
ci: honest CPU job (S0.3) - #8
Merged
Merged
Conversation
Replace the old workflow, which called missing test directories and swallowed errors. Ruff passes. Pytest is red on 13 existing failures, and the job is supposed to show that.
This was referenced Oct 30, 2026
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.
What changed
The old CI workflow is gone. It ran integration tests and benchmarks against directories that do not exist, and two steps ended in
|| true.The new workflow is
.github/workflows/ci.yml. One job:requirements-cpu.txt(torch 2.15.0+cpu, pytest 9.2.0, ruff 0.17.3, and the other pins in that file)pip install -e . --no-depsso the old pins inpyproject.tomlare not installedruff check .andruff format --check .pytest -q -m "not slow and not gpu"Ruff is limited to pycodestyle, pyflakes, and isort. Line length is the formatter's job.
docs/is excluded so ruff does not rewrite markdown.Two import bugs that stopped the suite from starting are fixed in this PR:
comm_hooks.pyimportedddp_comm_hook, which torch 2.15 does not export, and never used the name. The import is removed.telemetry.pycalledtorch.tensorwithout importingtorch.How it works
A green CI run used to be possible while the tests were red, because the benchmark step ignored its own failure and the integration job targeted a missing folder. This job fails when ruff fails or when pytest fails. There is no continue-on-error.
pyproject.tomlstill declarestransformers==4.32.0,trl==0.5.0,triton, andbitsandbytes. That stack is not what this job installs. The CPU file is the environment the tests were run in.How to verify
Local result on Python 3.12, torch 2.15.0+cpu: ruff passes. Pytest collects 82 tests, 69 passed, 13 failed. The GitHub job should go red on those 13. That is the result this PR is shipping.
What is still not proven
The 13 failures are unchanged algorithm bugs, now visible because the package imports:
AlignmentConfig.dpo_betatrain_stepgathering log-probs at the wrong rankRolloutBuffer.addcallspin_memory()and raises on CPU when no accelerator is presentRolloutGenerator.generate_rollouthitsIndexErrorontorch.cat(..., dim=1)tests/run_benchmark_comparison.pystill returns hardcoded throughput and VRAM. Pytest does not collect that file. Those numbers are not measurements.No GPU run. The Quadro P2000 was not used.