Skip to content

[CICD Stability] Start transition to scaleset based providers - #33492

Merged
Tianlei Wu (tianleiwu) merged 3 commits into
mainfrom
dev/erscor/2026/10/20-scaleset-transition
Oct 21, 2026
Merged

Tianlei Wu (tianleiwu) merged 3 commits into
mainfrom
dev/erscor/2026/10/20-scaleset-transition

Conversation

@eserscor

Copy link
Copy Markdown
Contributor

Description

Motivation and Context

@eserscor
eserscor marked this pull request as ready for review October 20, 2026 20:32
Copilot AI balanced review requested due to automatic review settings October 20, 2026 20:32

Copilot AI 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.

🔵 Needs a closer look

Infrastructure owners must validate scale-set availability, image compatibility, GPU and identity access, and representative CI runs.

No open issues 🎉

What changed in this PR

Begins migrating ONNX Runtime CI from legacy 1ES pool selectors to scale-set runner labels.

Changes:

  • Updates Windows and Linux build, test, documentation, and maintenance workflows.
  • Preserves separate CPU, GPU, and ARM64 runner targets.
  • Updates the reusable Linux workflow and its callers to use scale-set names directly.

No actionable code findings were identified.

File Description
.github/​workflows/​windows-web-ci-workflow.yml Uses Windows WebGPU scale set.
.github/​workflows/​windows_x64_release_xnnpack.yml Migrates XNNPACK release runner.
.github/​workflows/​windows_x64_release_vitisai_build_x64_release.yml Migrates VitisAI release runner.
.github/​workflows/​windows_x64_release_ep_generic_interface_build_x64_release_ep_generic_interface.yml Migrates generic EP interface runner.
.github/​workflows/​windows_x64_release_build_x64_release.yml Migrates Windows release runner.
.github/​workflows/​windows_x64_debug_build_x64_debug.yml Migrates Windows debug runner.
.github/​workflows/​windows_webgpu.yml Migrates CPU builds and GPU jobs.
.github/​workflows/​windows_tensorrt.yml Migrates TensorRT build/test runners.
.github/​workflows/​windows_qnn_x64.yml Migrates QNN runner.
.github/​workflows/​windows_openvino.yml Migrates OpenVINO runner.
.github/​workflows/​windows_gpu_doc_gen.yml Migrates GPU documentation runner.
.github/​workflows/​windows_dml.yml Migrates DirectML GPU runner.
.github/​workflows/​windows_cuda.yml Migrates CUDA build/test runners.
.github/​workflows/​windows_cuda_plugin.yml Migrates CUDA plugin runners.
.github/​workflows/​windows_cuda_no_cudnn.yml Migrates cuDNN-free CUDA runners.
.github/​workflows/​windows_build_x64_asan.yml Uses 32-core Windows scale set.
.github/​workflows/​windows_arm64_python.yml Uses Windows ARM64 scale set.
.github/​workflows/​title-only-labeler.yml Migrates title-labeling runner.
.github/​workflows/​reusable_linux_build.yml Accepts scale-set labels directly.
.github/​workflows/​react_native.yml Migrates Android package and test runners.
.github/​workflows/​publish-python-apidocs.yml Migrates Python documentation runner.
.github/​workflows/​publish-js-apidocs.yml Migrates JavaScript documentation runner.
.github/​workflows/​publish-java-apidocs.yml Migrates Java documentation runner.
.github/​workflows/​publish-gh-pages.yml Migrates placeholder runner.
.github/​workflows/​publish-csharp-apidocs.yml Migrates C# documentation runner.
.github/​workflows/​publish-c-apidocs.yml Migrates C/C++ documentation runner.
.github/​workflows/​pr_checks.yml Migrates suggested-fix runner.
.github/​workflows/​linux-wasm-ci-build-and-test-workflow.yml Uses 32-core Linux scale set.
.github/​workflows/​linux_webgpu.yml Updates reusable-build runner inputs.
.github/​workflows/​linux_tensorrt_ci.yml Migrates TensorRT build/test runners.
.github/​workflows/​linux_openvino_ci.yml Updates OpenVINO build runner input.
.github/​workflows/​linux_minimal_build.yml Migrates minimal-build matrix runners.
.github/​workflows/​linux_cuda_plugin_ci.yml Migrates CUDA plugin runners.
.github/​workflows/​linux_cuda_no_cudnn.yml Migrates cuDNN-free build/smoke runners.
.github/​workflows/​linux_cuda_ci.yml Migrates CUDA build/test runners.
.github/​workflows/​linux_ci.yml Updates x64 and ARM64 runner inputs.
.github/​workflows/​lint.yml Migrates Python formatting runner.
.github/​workflows/​labeler.yml Migrates issue-labeling runner.
.github/​workflows/​gradle-wrapper-validation.yml Migrates Gradle validation runner.
.github/​workflows/​codeql.yml Migrates CodeQL analysis runner.
.github/​workflows/​cffconvert.yml Migrates citation validation runner.
.github/​workflows/​android.yml Migrates Android CI runners.

Review effort: Balanced

@tianleiwu
Tianlei Wu (tianleiwu) enabled auto-merge (squash) October 21, 2026 00:25
@tianleiwu
Tianlei Wu (tianleiwu) merged commit 973f680 into main Oct 21, 2026
124 of 131 checks passed
@tianleiwu
Tianlei Wu (tianleiwu) deleted the dev/erscor/2026/10/20-scaleset-transition branch October 21, 2026 02:21
adrastogi pushed a commit that referenced this pull request Oct 26, 2026
### Description
<!-- Describe your changes. -->

### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->

Backport notes for rel-1.30.1:
- Preserve existing Linux and WebGPU job sets; do not introduce main-only no-exceptions or static-plugin jobs.
- Keep the main-only Windows ARM64 Python workflow absent.
- Preserve combined Windows WebGPU build/test jobs on the GPU scale set; use the CPU scale set for the build-only minimal Edge job.

(cherry picked from commit 973f680)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3eb3fc9b-6147-4706-b7ad-47bb3476377b
adrastogi added a commit that referenced this pull request Oct 27, 2026
### Description
<!-- Describe your changes. -->
This cherry-picks the following commits for the release:

* #32610
* #32633
* #32641
* #32611
* #32609
* #32607
* #32679
* #32681
* #32666

CI fixes:

* #32559 (`8ec7981a7439546a54196b9cbc777ae5de708b6b`): guard FP8 XQA
test cases by GPU compute capability. The Windows CUDA runner is an SM86
A10, while FP8 XQA requires SM89 or SM90+. INT4/INT8 XQA coverage
remains enabled on supported SM80+ devices. This fixes the two FP8
dispatch assertions without changing product behavior.
* Raise the Android minimal baseline binary-size threshold by 1 KiB,
from 1,589,248 to 1,590,272 bytes (release branch only). CI reports a
section total of 1,590,022 bytes, exceeding the previous threshold by
774 bytes. The adjusted threshold leaves 250 bytes of headroom.
* #32676, then #33489: rename the old `A10-Test` image and remove the
unnecessary image override, in upstream order.
* #33492: backport the scale-set runner migration across the release
branch's 41 affected workflows. The Linux CUDA, CUDA Plugin, and
TensorRT test jobs now use `ort-github-linux-6-a10-scus-ss`. Their
previous retries were cancelled by `1es-resource-management[bot]` before
any steps executed.

The first ten cherry-picks, plus #32676 and #33489, applied cleanly from
the original mainline commits, with source commit provenance preserved.
#32607 includes the full mainline fix and regression tests rather than
the reduced 1.28.3 backport.

#33492 required conflict resolution because the release branch has an
older workflow layout:

* Preserve the existing Linux CI and Linux WebGPU job sets; do not
introduce main-only no-exceptions or static-plugin jobs.
* Leave `windows_arm64_python.yml` absent. It was introduced after 1.30
branched by #32791; its runner migration does not require adding that
workflow to this release.
* Preserve Windows WebGPU's combined build/test jobs and their check
names, keeping them on the new GPU scale set rather than importing
main's split build/test topology. The build-only minimal Edge job uses
the new CPU scale set.

### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
Bring the product fixes from #32806 into ORT 1.30.1, address the Windows
CUDA test and Android size-gate failures, and migrate CI runner
selection to unblock the cancelled GPU jobs.

The merged EP API version correction from #33525 was brought in by
merging the updated `rel-1.30.1` base. The `uuid-dev` CI fix in #32491
was already present in the 1.30 base and is not duplicated.

The OpenVINO changes in #33112 and #33327 are intentionally excluded:
the namespace regression fixed by #33327 was introduced by #33112, and
neither change is present in the 1.30 base.

Validation:

* All nine original product cherry-pick patch IDs were verified against
their mainline commits; the additional #32559 patch ID also matches
upstream.
* The upstream `test_fp8_xqa_cuda_capability` regression passed in an
isolated standard-library harness using mocked SM86, SM89, and SM90
capabilities. Additional no-CUDA and external-runner cases passed.
* Python syntax and Android threshold consistency/arithmetic checks
passed.
* `git diff --check 3b0f46f HEAD` passed.
* All 41 migrated workflow YAML files parse. Structural comparisons
against the pre-migration release workflows confirm that only runner
labels, caller pool names, and the reusable pool-input description
changed; job sets, steps, triggers, permissions, matrices, and build
flags are preserved.
* All 13 callers of the reusable Linux build workflow use scale-set pool
names; all three previously cancelled GPU test jobs use the new A10
scale set.
* The Android release-specific size threshold remains 1,590,272 bytes.
* The full helper pytest invocation was not runnable because pytest is
not installed in the local virtual environment. No local GPU execution
or Android rebuild was performed; CI will validate the integrated
changes.

---------

Co-authored-by: Wei Wang <wei4.wang@intel.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: shiyi <shiyi.zou@intel.com>
Co-authored-by: Bin Miao <bin.miao@intel.com>
Co-authored-by: Bryan B <bryan.bernhart@intel.com>
Co-authored-by: Xiaofei Han <xiaofeihan@microsoft.com>
Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com>
Co-authored-by: Tianlei Wu <tlwu@microsoft.com>
Co-authored-by: eserscor <erscor@microsoft.com>
Copilot-Session: 3eb3fc9b-6147-4706-b7ad-47bb3476377b
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.

4 participants