Skip to content

Commit 12b7ec6

Browse files
committed
Merge remote-tracking branch 'upstream/main' into fix/qdq-gemm-alpha-28130
2 parents c6a9c6c + bdd52fa commit 12b7ec6

707 files changed

Lines changed: 56498 additions & 25990 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/windows_build_x64_asan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,4 @@ jobs:
4444
@echo off
4545
echo %PATH%
4646
python -m pip install -r "%GITHUB_WORKSPACE%\tools\ci_build/github/windows\python\requirements.txt"
47-
python "%GITHUB_WORKSPACE%\tools\ci_build\build.py" --config Debug --build_dir "%RUNNER_TEMP%\build" --skip_submodule_sync --parallel --use_vcpkg --use_vcpkg_ms_internal_asset_cache --cmake_generator "Visual Studio 17 2022" --disable_memleak_checker --enable_address_sanitizer
47+
python "%GITHUB_WORKSPACE%\tools\ci_build\build.py" --config Debug --build_dir "%RUNNER_TEMP%\build" --skip_submodule_sync --parallel --test_parallel 4 --use_vcpkg --use_vcpkg_ms_internal_asset_cache --cmake_generator "Visual Studio 17 2022" --disable_memleak_checker --enable_address_sanitizer

.github/workflows/windows_webgpu.yml

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
strategy:
2727
matrix:
2828
vcpkg_option: [novcpkg, vcpkg]
29-
wgsl_template: [static, dynamic]
29+
wgsl_template: [static]
3030
env:
3131
OrtPackageId: Microsoft.ML.OnnxRuntime
3232
OnnxRuntimeBuildDirectory: ${{ github.workspace }}
@@ -131,24 +131,6 @@ jobs:
131131
}
132132
Remove-Item "${{ github.workspace }}\RelWithDebInfo" -Include "*.obj" -Recurse
133133
134-
- name: Run tests (onnxruntime_test_all, onnxruntime_provider_test) with verbose logging
135-
shell: pwsh
136-
run: |
137-
$env:ORT_UNIT_TEST_MAIN_LOG_LEVEL = "0"
138-
.\onnxruntime_test_all.exe 2> .\onnxruntime_test_stderr.log
139-
.\onnxruntime_provider_test.exe 2>> .\onnxruntime_test_stderr.log
140-
working-directory: ${{ github.workspace }}\RelWithDebInfo\RelWithDebInfo
141-
142-
- name: Check log file
143-
shell: cmd
144-
run: |
145-
dir ${{ github.workspace }}\RelWithDebInfo\RelWithDebInfo\onnxruntime_test_stderr.log
146-
147-
- name: Validate shader keys
148-
uses: ./.github/actions/webgpu-validate-shader-key
149-
with:
150-
log_file_path: ${{ github.workspace }}\RelWithDebInfo\RelWithDebInfo\onnxruntime_test_stderr.log
151-
152134
- name: Validate C# native delegates
153135
run: python tools\ValidateNativeDelegateAttributes.py
154136
shell: cmd

cgmanifests/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
# CGManifest Files
22
This directory contains CGManifest (cgmanifest.json) files.
3-
See [here](https://docs.opensource.microsoft.com/tools/cg/cgmanifest.html) for details.
3+
See [here](https://docs.opensource.microsoft.com/tools/cg/cgmanifest.html) for details.
4+
5+
The WebGPU-specific manifest is in `webgpu/cgmanifest.webgpu.json`. It is intentionally not named `cgmanifest.json`
6+
so default whole-repository Component Governance scans do not pick it up automatically. WebGPU packaging or
7+
NOTICE-generation pipelines should stage it as `cgmanifest.json` in their scan input.

cgmanifests/webgpu/README.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# WebGPU Component Governance manifest
2+
3+
This directory contains the WebGPU-specific Component Governance manifest for ONNX Runtime. It covers Dawn and the
4+
Dawn-derived dependency graph used when building the WebGPU Execution Provider.
5+
6+
The manifest is named `cgmanifest.webgpu.json`, not `cgmanifest.json`, so default whole-repository Component
7+
Governance scans do not pick it up automatically. WebGPU packaging and NOTICE-generation pipelines should stage or copy
8+
this file as `cgmanifest.json` in the source directory that they scan for WebGPU package notices.
9+
10+
## Classification policy
11+
12+
The Component Governance manifest schema provides a `developmentDependency` boolean, but it does not provide separate
13+
first-class fields for runtime, build-tool, test-only, or conditional dependencies. This manifest uses:
14+
15+
- no `developmentDependency` field for components that are redistributed, statically linked, or otherwise part of the
16+
WebGPU package/runtime dependency closure;
17+
- `developmentDependency: true` for Dawn dependencies that are only build tools, tests, disabled optional backends, or
18+
source inputs that current WebGPU packages do not redistribute;
19+
- `comments` to preserve the more precise classification and Dawn `DEPS` path/condition.
20+
21+
If a WebGPU package starts redistributing a component currently marked as a development dependency, update that
22+
registration and explain the packaging path in `comments` and `detectedComponentLocations`.
23+
24+
## Maintenance
25+
26+
When rolling Dawn or changing WebGPU packaging:
27+
28+
1. Update the Dawn registration to match the `dawn` entry in `cmake/deps.txt`.
29+
2. Re-audit the Dawn dependency graph for the pinned Dawn commit:
30+
- Start from the Dawn commit in `cmake/deps.txt`; do not audit Dawn `main` or a different roll.
31+
- Inspect Dawn's `tools/fetch_dawn_dependencies.py` at that commit. For ORT's normal source-fetch path,
32+
`cmake/external/onnxruntime_external_deps.cmake` enables `DAWN_FETCH_DEPENDENCIES`, so the script's
33+
`required_submodules` list is the primary set of Dawn source dependencies fetched for the build.
34+
- Cross-reference each fetched submodule path with Dawn's `DEPS` file to get the public upstream repository URL,
35+
commit, and condition. Use public upstream identities in this manifest, not internal mirrors.
36+
- Compare that fetched set against this manifest. Add new fetched components, update changed commits or repository
37+
URLs, and remove entries that are no longer fetched or relevant unless CG/legal guidance requires keeping them.
38+
- Cross-check ORT's Dawn CMake options in `cmake/external/onnxruntime_external_deps.cmake` and Dawn's
39+
`third_party/CMakeLists.txt` before classifying a component. Components that are redistributed, statically linked,
40+
or otherwise part of the WebGPU package/runtime closure should not be marked as development dependencies; build
41+
tools, test inputs, disabled optional backends, and unfetched conditional dependencies should be marked
42+
`developmentDependency: true` if they remain registered.
43+
- Verify actual WebGPU package contents, especially platform-specific artifacts. For example, the Windows WebGPU
44+
plugin pipeline downloads and redistributes DXC DLLs separately from Dawn's `third_party/dxc` source dependency, so
45+
both the Dawn build-input registration and the redistributed DXC release registration may need review.
46+
- Keep Dawn-derived registrations connected to the Dawn root with `dependencyRoots`.
47+
3. If the Windows WebGPU plugin pipeline changes the downloaded DXC release, update the DirectXShaderCompiler release
48+
registration to match `tools/ci_build/github/azure-pipelines/stages/plugin-win-webgpu-stage.yml`.
49+
4. Run:
50+
51+
```powershell
52+
python cgmanifests/webgpu/validate_webgpu_cgmanifest.py
53+
```
54+
55+
The validator checks for stale Dawn and DXC pins, but it does not replace the manual dependency classification review
56+
in step 2.
57+
58+
Non-git Dawn toolchain packages from CIPD/GCS, such as GN, Ninja, CMake, Go, Siso, reclient, and sysroots, are
59+
intentionally not registered here unless they become redistributed or CG/legal guidance requires build input coverage.
60+
They do not have stable public upstream source identities in the Dawn `DEPS` file and are not part of current WebGPU
61+
package contents.

0 commit comments

Comments
 (0)