Collapse jax build/test double-counting by normalizing jax_ref to bare version - #84
Collapse jax build/test double-counting by normalizing jax_ref to bare version#84HereThereBeDragons wants to merge 2 commits into
Conversation
marbre
left a comment
There was a problem hiding this comment.
From my review agent:
Preserve jax_ref as a Git ref — /develop/quartz/scripts/receive_therock/therock_update_status_json.py:382
_normalize_ref() strips rocm-jaxlib-v from every JAX ref, including dispatch inputs. TheRock deliberately distinguishes the checkoutable jax_ref from the bare display-only jax_label (/develop/therock/ build_tools/github_actions/configure_jax_release_matrix.py:122), and Quartz’s schema reference publishes the full ref (/develop/quartz/docs/status-json/status_json_reference.jsonc:263).
This changes the meaning of a public schema-v2 field and can alias distinct valid refs—for example, rocm-jaxlib-vfeature and feature become the same variant key. I recommend canonicalizing the bare job label toward the full ref, or separating display normalization from variant identity, while preserving arbitrary branch/tag/SHA inputs.
Summary
We fix a double-counting bug in the release status.json where every jax build
and test cell is counted twice. The cause is that one jax version reaches the
status pipeline under two spellings: the build matrix names cells by git ref
(
rocm-jaxlib-v0.11.0), while the release orchestrator and test dispatch inputsuse the bare version (
0.11.0). Left un-normalized, the two spellings key twodistinct variants that never merge, doubling the jax counts.
We normalize every jax ref to the bare version at the two points a ref enters a
variant key, so the two spellings collapse to a single (py, version) cell. On
the affected release this reduces the jax variant count from 30 to 15.
Change
_normalize_ref(axis_key, ref), called uniformly for every fan-out axis.Today only jax needs it: a
jax_refvalue has therocm-jaxlib-vprefixstripped, and the torch axis is a pure passthrough.
_variants_from_jobs(job-name parsing) and
_variants_from_inputs(dispatch-input parsing).We strip the prefix rather than add it because stripping is idempotent on
already-bare refs and never mangles a non-version ref such as a branch name.
Tests
collapses to one variant with a single key.
confirming the torch axis is unaffected.
Scope
The fix applies to future releases only. The already-frozen
20260820/status.jsonis not retroactively corrected.