Skip to content

Add optional JAX release build toggle#6117

Merged
ScottTodd merged 4 commits into
mainfrom
users/scotttodd/optional-jax
Jun 30, 2026
Merged

Add optional JAX release build toggle#6117
ScottTodd merged 4 commits into
mainfrom
users/scotttodd/optional-jax

Conversation

@ScottTodd

@ScottTodd ScottTodd commented Jun 24, 2026

Copy link
Copy Markdown
Member

Motivation

Progress on #5634 and #6218.

Follow-up to these PRs:

This brings PyTorch and JAX back into alignment with optional triggering, a script to define the job matrix, and the ability to trigger builds for a single python version at a time to save CI resources.

Technical Details

Important

The python_version input will need to be added to https://github.com/ROCm/rockrel/blob/main/.github/workflows/multi_arch_release_linux_jax_wheels.yml, like with ROCm/rockrel#54 and ROCm/rockrel#55.

I've prepared this PR for that: ROCm/rockrel#70.

Test Plan

Submission Checklist

Mirror the PyTorch release workflow toggle for JAX so manual multi-arch dev releases can skip JAX wheels by default while workflow_call release runs continue to build them. Add a small JAX release matrix script so JAX can share the top-level python_version narrowing behavior.

Also add focused tests for the JAX matrix script and current PyTorch release matrix behavior.

Testing:

- D:/projects/TheRock/.venv/Scripts/python.exe -m pytest github_actions/tests/configure_jax_release_matrix_test.py github_actions/tests/configure_pytorch_release_matrix_test.py

- pre-commit run --files .github/workflows/multi_arch_release.yml .github/workflows/multi_arch_release_linux.yml .github/workflows/multi_arch_release_linux_jax_wheels.yml build_tools/github_actions/configure_jax_release_matrix.py build_tools/github_actions/configure_pytorch_release_matrix.py build_tools/github_actions/tests/configure_jax_release_matrix_test.py build_tools/github_actions/tests/configure_pytorch_release_matrix_test.py

Assisted-by: Codex
@ScottTodd ScottTodd added the ci:skip Skip all CI builds/tests for this PR label Jun 24, 2026
@therock-pr-bot

therock-pr-bot Bot commented Jun 24, 2026

Copy link
Copy Markdown

❌ PR Check — Action Required

Check Status Details
🌿 Branch Name ✅ Pass
📝 PR Title/Description ❌ Fail Error: Title does not follow Conventional Commits style.
Expected: start with a valid type (feat, fix, docs, …).
Desired format: type(optional-scope): short description
Forbidden Files ✅ Pass
🧪 Unit Test ✅ Pass
🔎 pre-commit ✅ Pass
🚫 Draft PR 🔜 To Be Enabled
🚩 Feature Flag 🔜 To Be Enabled
📊 Code Coverage 🔜 To Be Enabled

⚠️ 1 policy check(s) failed. Please address the issues above before this PR can be Reviewed.

🚫 Please fix the failed policies

  • ❌ PR Title/Description

The Not ready to Review label was added to this PR. Once all policies pass, the label is removed automatically.

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

@therock-pr-bot therock-pr-bot Bot added the Not ready to Review PR has unresolved policy failures — reviews blocked label Jun 24, 2026
@therock-pr-bot

Copy link
Copy Markdown

🚫 Please fix the failed policies before requesting reviews.

The following policy checks failed:

  • ❌ PR Title/Description

The Not ready to Review label has been added to this PR.
Once all policies pass, the label will be removed automatically.

@ScottTodd

Copy link
Copy Markdown
Member Author

fyi @erman-gurses + @geomin12 , I have this queued up once some already in-review PRs are merged.

Avoid exhaustively asserting the expanded default matrix. Check that the default matrix spans multiple Python versions and JAX refs, and that explicit Python versions narrow every generated row.

Testing:

- D:/projects/TheRock/.venv/Scripts/python.exe -m pytest github_actions/tests/configure_jax_release_matrix_test.py

- D:/projects/TheRock/.venv/Scripts/python.exe -m pytest github_actions/tests/configure_pytorch_release_matrix_test.py

- pre-commit run --files build_tools/github_actions/tests/configure_jax_release_matrix_test.py

Assisted-by: Codex
@therock-pr-bot therock-pr-bot Bot removed the Not ready to Review PR has unresolved policy failures — reviews blocked label Jun 30, 2026
@ScottTodd ScottTodd marked this pull request as ready for review June 30, 2026 20:16
@erman-gurses

erman-gurses commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Asking to make sure - little confused about this test. Is this not triggered because of the false option? or because of the matlib build failed? https://github.com/ROCm/TheRock/actions/runs/28469583076/job/84382542062

Trigger a dev release with multi_arch_release_linux.yml, setting build_jax to false
https://github.com/ROCm/TheRock/actions/runs/28469583076

@ScottTodd

Copy link
Copy Markdown
Member Author

Yeah that looks like an unrelated build flake :/ I just retriggered the jobs that failed on that test run.

@erman-gurses erman-gurses left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good now!

@ScottTodd ScottTodd merged commit 4477997 into main Jun 30, 2026
155 of 170 checks passed
@ScottTodd ScottTodd deleted the users/scotttodd/optional-jax branch June 30, 2026 23:44
ScottTodd added a commit to ROCm/rockrel that referenced this pull request Jun 30, 2026
## Motivation

Progress on ROCm/TheRock#5634 and
ROCm/TheRock#6218.

This will be used by ROCm/TheRock#6117 which
applies what ROCm/TheRock#5727 added for pytorch
to jax: an optional `build_jax` toggle and the `python_version` input to
build for a single version instead of all versions.

## Test Plan

Dev release in TheRock:
https://github.com/ROCm/TheRock/actions/runs/28469583076

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
ScottTodd added a commit that referenced this pull request Jun 30, 2026
## Motivation

Progress on #5634 and
#6218.

This builds on #6117 to provide the
JAX equivalent to #6082. Now the
dynamic matrix of JAX builds to run will be generated at the _start_ of
CI and release pipelines during "setup" / "configure CI" and a table
will be included in the summary:
<img width="750" height="683" alt="image"
src="https://github.com/user-attachments/assets/37b21bd3-1906-4d2f-9732-0602fab9776a"
/>

## Technical Details

The new `build_jax` option now has these settings:

Workflow | `build_jax` value | notes
-- | -- | --
`multi_arch_ci.yml` | `false` | Matching previous behavior<br>can later
be enabled (opt-in, automatic based on files edited, etc.)
`multi_arch_ci_asan.yml` | `false` | New behavior due to
#6218
`multi_arch_release.yml` | `inputs.build_jax`<br>(default `true`) |
Matching previous behavior
`multi_arch_release_asan.yml` | `false` | New behavior due to
#6218

## Test Plan

* Dev release triggered to observe CI configuration:
https://github.com/ROCm/TheRock/actions/runs/28470132517

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:skip Skip all CI builds/tests for this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants