Skip to content

Remove old custom EP load infrastructure #13447

Remove old custom EP load infrastructure

Remove old custom EP load infrastructure #13447

Workflow file for this run

name: Windows CPU CI Pipeline
on:
push:
branches: [main, 'rel-*']
pull_request:
branches: [main]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.ref || github.sha }}
cancel-in-progress: true
jobs:
build_x86_release:
runs-on: [
"self-hosted",
"1ES.Pool=onnxruntime-github-vs2022-latest",
"JobId=windows-x86-release-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}"
]
timeout-minutes: 300
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
submodules: false
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: '3.12'
architecture: x86 # x86 Python
- name: Locate vcvarsall and Setup Env
uses: ./.github/actions/locate-vcvarsall-and-setup-env
with:
architecture: x86 # x86 architecture for vcvarsall
- 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@v6
with:
node-version: '20.x'
architecture: x86 #Add architecture
- name: Setup Java
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'
architecture: x86 # x86 Java
- name: API Documentation Check and generate
shell: cmd
run: |
set ORT_DOXY_SRC=${{ github.workspace }}
set ORT_DOXY_OUT=${{ github.workspace }}\build\RelWithDebInfo\RelWithDebInfo
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@v5
with:
dotnet-version: '8.x'
env:
PROCESSOR_ARCHITECTURE: x86 # x86 .NET
- name: Prefer x86 dotnet on PATH
shell: pwsh
run: |
$x86DotnetDir = 'C:\Program Files (x86)\dotnet'
$x64DotnetDir = 'C:\Program Files\dotnet'
$machinePath = [Environment]::GetEnvironmentVariable('Path', 'Machine')
Write-Host "Machine PATH: $machinePath"
$pathEntries = @($env:PATH -split ';' | Where-Object { $_ })
$reorderedPathEntries = @(
$x86DotnetDir
$pathEntries | Where-Object { $_ -ne $x86DotnetDir }
)
$env:PATH = ($reorderedPathEntries -join ';')
# Only add the x86 dotnet directory to GITHUB_PATH if it is not already on PATH (after normalization)
$normalizedX86DotnetDir = $x86DotnetDir.TrimEnd('\')
$normalizedPathEntries = $pathEntries | ForEach-Object { $_.TrimEnd('\') }
if (-not ($normalizedPathEntries -contains $normalizedX86DotnetDir)) {
Add-Content -Path $env:GITHUB_PATH -Value $x86DotnetDir
}
$dotnetPaths = @(Get-Command dotnet -All | Select-Object -ExpandProperty Source -Unique)
Write-Host 'Resolved dotnet executables:'
$dotnetPaths | ForEach-Object { Write-Host $_ }
$x86DotnetExe = "$x86DotnetDir\dotnet.exe"
$x64DotnetExe = "$x64DotnetDir\dotnet.exe"
$x86Index = $dotnetPaths.IndexOf($x86DotnetExe)
$x64Index = $dotnetPaths.IndexOf($x64DotnetExe)
if ($x86Index -lt 0) {
throw "Expected x86 dotnet executable was not found: $x86DotnetExe"
}
if ($x64Index -ge 0 -and $x86Index -gt $x64Index) {
throw "x86 dotnet must appear before x64 dotnet on PATH. Found $x86DotnetExe after $x64DotnetExe."
}
- name: Use Nuget 6.x
uses: nuget/setup-nuget@v2
with:
nuget-version: '6.x'
- name: NuGet restore
shell: cmd
run: |
nuget restore ${{ github.workspace }}\packages.config -PackagesDirectory ${{ github.workspace }}\build\RelWithDebInfo -ConfigFile ${{ github.workspace }}\NuGet.config
- name: Build and Test
shell: pwsh
run: |
python.exe "${{ github.workspace }}\tools\ci_build\build.py" --config RelWithDebInfo --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_wheel --msbuild_extra_options "IncludeMobileTargets=false" --build_nuget --compile_no_warning_as_error --use_vcpkg --use_vcpkg_ms_internal_asset_cache
if ($LASTEXITCODE -ne 0) {
exit $LASTEXITCODE
}
Remove-Item "${{ github.workspace }}\build\RelWithDebInfo" -Include "*.obj" -Recurse
env:
ALLOW_RELEASED_ONNX_OPSET_ONLY: '0'
DocUpdateNeeded: 'false'
- 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\\RelWithDebInfo\\RelWithDebInfo"
- name: Publish OperatorKernels.md (Conditional)
uses: actions/upload-artifact@v6
if: failure() && env.DocUpdateNeeded == 'true'
with:
name: OperatorKernels.md
path: ${{ github.workspace }}/docs/OperatorKernels.md
- name: Publish ContribOperators.md (Conditional)
uses: actions/upload-artifact@v6
if: failure() && env.DocUpdateNeeded == 'true'
with:
name: ContribOperators.md
path: ${{ github.workspace }}/docs/ContribOperators.md
env:
OrtPackageId: Microsoft.ML.OnnxRuntime
OnnxRuntimeBuildDirectory: ${{ github.workspace }}\build
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true'