Skip to content

Install uuid-dev in the Linux minimal build_full_ort job - #32491

Merged
Tianlei Wu (tianleiwu) merged 2 commits into
mainfrom
copilot/fix-linux-minimal-build-dependency
Sep 9, 2026
Merged

Tianlei Wu (tianleiwu) merged 2 commits into
mainfrom
copilot/fix-linux-minimal-build-dependency

Conversation

Copilot AI commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor

Description

build_full_ort in .github/workflows/linux_minimal_build.yml now installs uuid-dev before building:

      # This job builds with --use_coreml. The coremltools modelpackage sources include <uuid/uuid.h>,
      # which is provided by uuid-dev on Ubuntu.
      - name: Install libuuid development files
        run: sudo apt-get update -y && sudo apt-get install -y uuid-dev
  • Scoped to build_full_ort only β€” it is the sole job in this workflow that builds with --use_coreml directly on the runner; the rest build inside the CI docker image or don't enable CoreML.
  • Placed before Build Full ORT and Prepare Test Files, so the header/library are present both when CMake configures and when ModelPackage.cpp compiles.
  • No CMake change: cmake/onnxruntime_providers_coreml.cmake already does find_path/find_library for libuuid on Linux (with an actionable FATAL_ERROR) and links it into onnxruntime_providers_coreml.

Motivation and Context

Linux CPU Minimal Build E2E / build_full_ort fails in run 34290674202, job 102276280773:

_deps/coremltools-src/modelpackage/src/ModelPackage.cpp:35:10: fatal error: uuid/uuid.h: No such file or directory

The job enables the CoreML EP, and the fetched coremltools modelpackage sources include <uuid/uuid.h>, supplied on Ubuntu by uuid-dev. Neither the workflow nor the reusable setup-build-tools action (which only provisions cmake/ccache/vcpkg) installs apt packages, so the header is only available when vcpkg's coreml-ep feature happens to provide it; without it Ninja stops while compiling onnxruntime_providers_coreml.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

…package sources

Co-authored-by: tianleiwu <30328909+tianleiwu@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix missing Linux dependency for CoreML provider build Install uuid-dev in the Linux minimal build_full_ort job Sep 9, 2026
@tianleiwu
Tianlei Wu (tianleiwu) marked this pull request as ready for review September 9, 2026 03:56
Copilot AI balanced review requested due to automatic review settings September 9, 2026 03:56
@tianleiwu
Tianlei Wu (tianleiwu) enabled auto-merge (squash) September 9, 2026 03:56

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.

🟒 Approval recommended

The scoped workflow dependency fix has no unresolved issues.

Pull request overview

Installs the Ubuntu libuuid development dependency required by the CoreML-enabled Linux build.

Changes:

  • Installs uuid-dev before the full ORT build.
  • Documents why CoreML requires the dependency.
File summaries
File Description
.github/workflows/linux_minimal_build.yml Installs libuuid headers for the CoreML-enabled job.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Balanced

πŸ’‘ Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@tianleiwu
Tianlei Wu (tianleiwu) merged commit f26e546 into main Sep 9, 2026
90 of 91 checks passed
@tianleiwu
Tianlei Wu (tianleiwu) deleted the copilot/fix-linux-minimal-build-dependency branch September 9, 2026 06:20
adrastogi pushed a commit that referenced this pull request Sep 25, 2026
### Description

`build_full_ort` in `.github/workflows/linux_minimal_build.yml` now
installs `uuid-dev` before building:

```yaml
      # This job builds with --use_coreml. The coremltools modelpackage sources include <uuid/uuid.h>,
      # which is provided by uuid-dev on Ubuntu.
      - name: Install libuuid development files
        run: sudo apt-get update -y && sudo apt-get install -y uuid-dev
```

- Scoped to `build_full_ort` only β€” it is the sole job in this workflow
that builds with `--use_coreml` directly on the runner; the rest build
inside the CI docker image or don't enable CoreML.
- Placed before `Build Full ORT and Prepare Test Files`, so the
header/library are present both when CMake configures and when
`ModelPackage.cpp` compiles.
- No CMake change: `cmake/onnxruntime_providers_coreml.cmake` already
does `find_path`/`find_library` for libuuid on Linux (with an actionable
`FATAL_ERROR`) and links it into `onnxruntime_providers_coreml`.

### Motivation and Context

`Linux CPU Minimal Build E2E` / `build_full_ort` fails in [run
34290674202, job
102276280773](https://github.com/microsoft/onnxruntime/actions/runs/34290674202):

```
_deps/coremltools-src/modelpackage/src/ModelPackage.cpp:35:10: fatal error: uuid/uuid.h: No such file or directory
```

The job enables the CoreML EP, and the fetched coremltools modelpackage
sources include `<uuid/uuid.h>`, supplied on Ubuntu by `uuid-dev`.
Neither the workflow nor the reusable `setup-build-tools` action (which
only provisions cmake/ccache/vcpkg) installs apt packages, so the header
is only available when vcpkg's `coreml-ep` feature happens to provide
it; without it Ninja stops while compiling
`onnxruntime_providers_coreml`.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tianleiwu <30328909+tianleiwu@users.noreply.github.com>
(cherry picked from commit f26e546)
Tianlei Wu (tianleiwu) added a commit that referenced this pull request Sep 29, 2026
This cherry-picks the following commits for the release:

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

CI fixes:

* #32491 (installs `uuid-dev` for the Linux minimal-build CoreML job;
that check also fails on the `rel-1.28.3` base)
* Raise the Android minimal baseline binary-size threshold from
1,440,768 to 1,443,840 bytes (release branch only). The checks added by
these fixes grow the minimal build from 1,440,538 to 1,443,098 bytes
(+2,560).

All picks except #32607 applied cleanly with `git cherry-pick -x`, in
the order they merged into main (#32666 was added afterward).

#32607 required a manual backport because `bert_defs.cc` has diverged on
main since 1.28 branched:
- `GroupQueryAttention` / `SparseAttention`: backported as-is
(`total_sequence_length_index` of 6 / 7, plus the single-element check).
The GQA call site in 1.28 has no `sliding_window_cache`, so it only gets
the new argument.
- `CausalConvWithState`: the 1.28 schema predates `channels_last`,
`state_window`, and `dilation`. Only the `ndim` in [1, 3] check and the
`weight`/`input` rank == `ndim + 2` checks are backported. These match
what the 1.28 CPU kernel already enforces.
`ChannelsLastInputRankBelowThreeIsRejected` is dropped.
- `GatedDeltaNet`: this op does not exist on 1.28.3, so its hunk and
test are dropped.

Validation (Windows x64, CPU EP, RelWithDebInfo):
- All 14 regression tests added by these PRs pass.
- `onnxruntime_test_all`: 1848 tests (including #32666's
`PluginCopiesForwardStreams`), 0 failures.
- `onnxruntime_provider_test`: 5370 tests, 0 failures.

---------

Co-authored-by: Wei Wang <wei4.wang@intel.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: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tianleiwu <30328909+tianleiwu@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Xiaofei Han <xiaofeihan@microsoft.com>
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