Skip to content

Enable Python 3.14 CI and Upgrade Dependencies - #27401

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

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

Conversation

@tianleiwu

@tianleiwu tianleiwu commented Feb 20, 2026

Copy link
Copy Markdown
Contributor

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

@github-actions github-actions Bot 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.

You can commit the suggested changes from lintrunner.

Comment thread onnxruntime/python/onnxruntime_pybind_exceptions.cc Outdated
@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
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