Skip to content

Enable Python 3.14 CI and Upgrade Dependencies#27401

Merged
tianleiwu merged 15 commits intomainfrom
tlwu/upgrade_pybind11
Feb 24, 2026
Merged

Enable Python 3.14 CI and Upgrade Dependencies#27401
tianleiwu merged 15 commits intomainfrom
tlwu/upgrade_pybind11

Conversation

@tianleiwu
Copy link
Copy Markdown
Contributor

@tianleiwu tianleiwu commented Feb 20, 2026

This pull request enables Python 3.14 testing in the CI pipelines and upgrades several key dependencies to support the new Python version.

Previously, python 3.14 CI was not enabled since some dependent packages not support python 3.14 at that time. Now it is the time to upgrade them.

Changes

1. Dependency Upgrades

Key Python dependencies have been updated to versions that support Python 3.14. The conditional version checks (based on python_version) have been removed in favor of these updated versions across all environments:

  • pybind: Upgraded to 3.0.2.
  • numpy: Upgraded to 2.4.2.
  • onnxscript: Upgraded to 0.6.2.
  • onnx-ir: Upgraded to 0.1.16.
  • onnx: Standardized on 1.20.1.
  • torch: Upgraded to 2.10.0.
  • triton: Upgraded to 3.5.0.
    These updates affect multiple requirements.txt files across Linux and Windows Docker images and build stages.

2. Fix Python Tests

  • Use dynamo=False for onnx export in failed python tests since PyTorch 2.10 changed dynamo=True as default, which broke a few test cases.

3. CI Pipeline Updates

The conditional logic that previously skipped Python 3.14 tests has been removed from the Azure Pipelines configuration.

  • Python 3.14 Tests Enabled: Removed condition: and(succeeded(), ne('${{ parameters.PYTHON_VERSION }}', '3.14')) from py-win-webgpu-stage.yml.
  • Test Execution Flow: Updated py-win-cpu.yml to remove the restriction that prevented onnxruntime tests and onnx_backend_test_series.py from running on Python 3.14.

Related Issues:

#27392

@tianleiwu tianleiwu marked this pull request as draft February 20, 2026 06:44
@tianleiwu tianleiwu force-pushed the tlwu/upgrade_pybind11 branch from 5347c25 to 596787e Compare February 20, 2026 07:07
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

You can commit the suggested changes from lintrunner.

@tianleiwu tianleiwu marked this pull request as ready for review February 22, 2026 18:51
xadupre
xadupre previously approved these changes Feb 23, 2026
@tianleiwu tianleiwu enabled auto-merge (squash) February 23, 2026 18:38
@tianleiwu tianleiwu merged commit 71d2cd0 into main Feb 24, 2026
99 of 101 checks passed
@tianleiwu tianleiwu deleted the tlwu/upgrade_pybind11 branch February 24, 2026 23:13
tianleiwu added a commit that referenced this pull request Feb 26, 2026
This pull request enables Python 3.14 testing in the CI pipelines and
upgrades several key dependencies to support the new Python version.

Previously, python 3.14 CI was not enabled since some dependent packages
not support python 3.14 at that time. Now it is the time to upgrade
them.
Key Python dependencies have been updated to versions that support
Python 3.14. The conditional version checks (based on `python_version`)
have been removed in favor of these updated versions across all
environments:
- **pybind**: Upgraded to `3.0.2`.
- **numpy**: Upgraded to `2.4.2`.
- **onnxscript**: Upgraded to `0.6.2`.
- **onnx-ir**: Upgraded to `0.1.16`.
- **onnx**: Standardized on `1.20.1`.
- **torch**: Upgraded to `2.10.0`.
- **triton**: Upgraded to `3.5.0`.
These updates affect multiple `requirements.txt` files across Linux and
Windows Docker images and build stages.
- Use `dynamo=False` for onnx export in failed python tests since
PyTorch 2.10 changed `dynamo=True` as default, which broke a few test
cases.
The conditional logic that previously skipped Python 3.14 tests has been
removed from the Azure Pipelines configuration.
- **Python 3.14 Tests Enabled**: Removed `condition: and(succeeded(),
ne('${{ parameters.PYTHON_VERSION }}', '3.14'))` from
`py-win-webgpu-stage.yml`.
- **Test Execution Flow**: Updated `py-win-cpu.yml` to remove the
restriction that prevented `onnxruntime` tests and
`onnx_backend_test_series.py` from running on Python 3.14.
#27392
tianleiwu added a commit that referenced this pull request Feb 27, 2026
This cherry-picks the following commits for the release:

| Commit ID | PR Number | Commit Title |
|-----------|-----------|-------------|
| decd177 | #27090 | Fix GatherND division by zero when batch
dimensions mismatch |
| 55f8234 | #27360 | Fix QMoE CPU Operator |
| df9146f | #27403 | [MLAS] Adding DynamicQGemm function pointers and
ukernel interface |
| 0f93853 | #27318 | [js/web] Use embedded WASM module in Blob URL
workers when wasmBinary is provided |
| b2a6e69 | #27364 | QMoE CPU Performance Update (Up to 4x on 4-bit)
|
| f501e1d | #27413 | Fix refcount bug in map input conversion that
caused shutdown segfault |
| b32b205 | #27421 | Fix error where bytes is not assigned for
dynamic qgemm pack b size |
| 426b006 | #27397 | Fix DllImportResolver |
| 0982844 | #27412 | MatmulNBits prepacking scales fix |
| 9afb0d2 | #27430 | Fix validation for external data paths for
models loaded from bytes |
| 71d2cd0 | #27401 | Enable Python 3.14 CI and Upgrade Dependencies |
| 79e0676 | #27419 | fix: out of bounds access for resize operation |
| 82eb99c | #27459 | Fix SkipLayerNorm fusion incorrectly applied
when gamma/beta are not 1D |
| 355278a | #27444 | Fix GatherCopyData Integer Truncation Leading to
Heap Out-of-Bounds Read/Write |
| cf96123 | #27411 | [web] fix usage of wasmBinary together with a
blob URL for .mjs |
| 1131a86 | #27399 | [web] remove the unhelpful "Unknown CPU vendor"
warning. |
| ffbbc4f | #27316 | Build Windows ARM64X binaries as part of
packaging pipeline |

---------

Signed-off-by: Jonathan Clohessy <Jonathan.Clohessy@arm.com>
Co-authored-by: patryk-kaiser-ARM <patryk.kaiser@arm.com>
Co-authored-by: don <70039285+0-don@users.noreply.github.com>
Co-authored-by: Jonathan Clohessy <jonathan.clohessy@arm.com>
Co-authored-by: Hariharan Seshadri <shariharan91@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Adrian Lizarraga <adlizarraga@microsoft.com>
Co-authored-by: Lukas Folle <126877803+lukas-folle-snkeos@users.noreply.github.com>
Co-authored-by: Chi Lo <54722500+chilo-ms@users.noreply.github.com>
Co-authored-by: Yulong Wang <7679871+fs-eire@users.noreply.github.com>
Co-authored-by: Chaya <cha182350@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Erik <erscor@microsoft.com>
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants