[WIP][Native WebGPU] Add Conv, ConTranspose and FusedConv #683
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: windows_x64_debug | |
on: | |
push: | |
branches: [ main, 'rel-*'] | |
pull_request: | |
branches: [ main ] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build_x64_debug: | |
runs-on: ["self-hosted", "1ES.Pool=onnxruntime-github-vs2022-mms"] | |
timeout-minutes: 300 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: false | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
architecture: x64 | |
- name: Locate vcvarsall and Setup Env | |
uses: ./.github/actions/locate-vcvarsall-and-setup-env # Use the composite action | |
with: | |
architecture: x64 | |
- name: Install python modules | |
shell: cmd | |
run: python -m pip install -r "${{ github.workspace }}\tools\ci_build\github\windows\python\requirements.txt" | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20.x' | |
- name: Setup Java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
architecture: x64 | |
- name: API Documentation Check and generate | |
shell: cmd | |
run: | | |
set ORT_DOXY_SRC=${{ github.workspace }} | |
set ORT_DOXY_OUT=${{ github.workspace }}\build\Debug\Debug | |
mkdir %ORT_DOXY_SRC% | |
mkdir %ORT_DOXY_OUT% | |
"C:\Program Files\doxygen\bin\doxygen.exe" ${{ github.workspace }}\tools\ci_build\github\Doxyfile_csharp.cfg | |
working-directory: ${{ github.workspace }} | |
- name: Use .NET 8.x | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '8.x' | |
env: | |
PROCESSOR_ARCHITECTURE: x64 | |
- name: Use Nuget 6.x | |
uses: nuget/setup-nuget@v2 # Use the official NuGet setup action | |
with: | |
nuget-version: '6.x' | |
- name: NuGet restore | |
shell: cmd | |
run: | | |
nuget restore ${{ github.workspace }}\packages.config -PackagesDirectory ${{ github.workspace }}\build\Debug -ConfigFile ${{ github.workspace }}\NuGet.config | |
- uses: actions/cache@v3 | |
id: onnx-node-tests-cache | |
with: | |
path: ${{ github.workspace }}/js/test/ | |
key: onnxnodetests-${{ hashFiles('js/scripts/prepare-onnx-node-tests.ts') }} | |
- name: Export GitHub Actions cache environment variables | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); | |
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); | |
- name: Build and Test | |
shell: pwsh | |
run: | | |
python.exe "${{ github.workspace }}\tools\ci_build\build.py" --config Debug --build_dir "${{ github.workspace }}\build" --skip_submodule_sync --build_csharp --parallel --use_binskim_compliant_compile_flags --cmake_generator "Visual Studio 17 2022" --build_shared_lib --enable_onnx_tests --build_java --build_nodejs --build_wheel --disable_memleak_checker --msbuild_extra_options "IncludeMobileTargets=false" --build_nuget --use_vcpkg --use_vcpkg_ms_internal_asset_cache | |
if ($LASTEXITCODE -ne 0) { | |
exit $LASTEXITCODE | |
} | |
Remove-Item "${{ github.workspace }}\build\Debug" -Include "*.obj" -Recurse | |
env: # Set environment variables here, applies to this step only | |
ALLOW_RELEASED_ONNX_OPSET_ONLY: '0' | |
DocUpdateNeeded: 'false' # Can be set dynamically based on build output if needed | |
- name: Validate C# native delegates | |
shell: cmd | |
run: python tools\ValidateNativeDelegateAttributes.py | |
working-directory: ${{ github.workspace }}\\csharp | |
- name: Install onnxruntime wheel | |
shell: pwsh | |
run: | | |
python -m pip uninstall -y onnxruntime onnxruntime-gpu onnxruntime-training onnxruntime-directml -qq | |
Get-ChildItem -Path dist/*.whl | foreach {pip --disable-pip-version-check install --upgrade $_.fullname} | |
working-directory: "${{ github.workspace }}\\build\\Debug\\Debug" | |
# Publish artifacts only on failure and if DocUpdateNeeded is true (example) | |
- name: Publish OperatorKernels.md (Conditional) | |
uses: actions/upload-artifact@v4 | |
if: failure() && env.DocUpdateNeeded == 'true' # Use env. for step-level vars | |
with: | |
name: OperatorKernels.md | |
path: ${{ github.workspace }}/docs/OperatorKernels.md | |
- name: Publish ContribOperators.md (Conditional) | |
uses: actions/upload-artifact@v4 | |
if: failure() && env.DocUpdateNeeded == 'true' | |
with: | |
name: ContribOperators.md | |
path: ${{ github.workspace }}/docs/ContribOperators.md | |
# These variables will persist for the entire job | |
env: | |
OrtPackageId: Microsoft.ML.OnnxRuntime | |
OnnxRuntimeBuildDirectory: ${{ github.workspace }}\build | |
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true' |