Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Windows ARM build jobs to post merge pipeline #18832

Merged
merged 4 commits into from
Dec 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
146 changes: 142 additions & 4 deletions tools/ci_build/github/azure-pipelines/post-merge-jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,13 @@ stages:
UseWebPoolName: true
WebCpuPoolName: 'Onnxruntime-Win-CPU-2022'

# This stage is to test if the combined build works on
# The follow section has 12 different build jobs that can be divided into 3 groups:
# 1. Default CPU build with normal win32 linking, without ORT extension
# 2. Default CPU build with wcos linking(use apiset), without ORT extension
# 3. Default CPU build with normal win32 linking with ORT extension
# Each group has 4 jobs that cover:
# o Windows ARM64
# o Windows ARM64EC
# o Windows ARM
# o Windows x64
# o Windows x86
# Now we don't have coverage for ARM64EC yet. Will add it.
Expand All @@ -24,12 +28,26 @@ stages:
buildArch: x86
msbuildPlatform: Win32
packageName: x86
buildparameter: --use_extensions --enable_onnx_tests
buildparameter: --enable_onnx_tests
runTests: true
buildJava: false
buildNodejs: false
ort_build_pool_name: 'onnxruntime-Win-CPU-2022'

- template: templates/win-ci.yml
parameters:
DoCompliance: false
DoEsrp: false
stage_name_suffix: CPU_arm_default
buildArch: x64
msbuildPlatform: arm
packageName: arm
buildparameter: --arm --enable_onnx_tests --path_to_protoc_exe $(Build.BinariesDirectory)\RelWithDebInfo\installed\bin\protoc.exe
runTests: false
buildJava: false
buildNodejs: false
ort_build_pool_name: 'onnxruntime-Win-CPU-2022'

- template: templates/win-ci.yml
parameters:
DoCompliance: false
Expand All @@ -38,7 +56,7 @@ stages:
buildArch: x64
msbuildPlatform: arm64
packageName: arm64
buildparameter: --build_nodejs --arm64 --use_extensions --enable_onnx_tests --path_to_protoc_exe $(Build.BinariesDirectory)\RelWithDebInfo\installed\bin\protoc.exe
buildparameter: --build_nodejs --arm64 --enable_onnx_tests --path_to_protoc_exe $(Build.BinariesDirectory)\RelWithDebInfo\installed\bin\protoc.exe
runTests: false
buildJava: false
buildNodejs: true
Expand All @@ -52,6 +70,126 @@ stages:
buildArch: x64
msbuildPlatform: x64
packageName: x64
buildparameter: --build_java --build_nodejs --enable_onnx_tests
runTests: true
buildJava: true
buildNodejs: true
ort_build_pool_name: 'onnxruntime-Win-CPU-2022'

- template: templates/win-ci.yml
parameters:
DoCompliance: false
DoEsrp: false
stage_name_suffix: CPU_x86_wcos
artifact_name_suffix: '-wcos'
buildArch: x86
msbuildPlatform: Win32
packageName: x86
buildparameter: --enable_onnx_tests --enable_wcos
runTests: true
buildJava: false
buildNodejs: false
ort_build_pool_name: 'onnxruntime-Win-CPU-2022'

- template: templates/win-ci.yml
parameters:
DoCompliance: false
DoEsrp: false
stage_name_suffix: CPU_arm_wcos
artifact_name_suffix: '-wcos'
buildArch: x64
msbuildPlatform: arm
packageName: arm
buildparameter: --arm --enable_onnx_tests --enable_wcos --path_to_protoc_exe $(Build.BinariesDirectory)\RelWithDebInfo\installed\bin\protoc.exe
runTests: false
buildJava: false
buildNodejs: false
ort_build_pool_name: 'onnxruntime-Win-CPU-2022'

- template: templates/win-ci.yml
parameters:
DoCompliance: false
DoEsrp: false
stage_name_suffix: CPU_arm64_wcos
artifact_name_suffix: '-wcos'
buildArch: x64
msbuildPlatform: arm64
packageName: arm64
buildparameter: --build_nodejs --enable_wcos --arm64 --enable_onnx_tests --path_to_protoc_exe $(Build.BinariesDirectory)\RelWithDebInfo\installed\bin\protoc.exe
runTests: false
buildJava: false
buildNodejs: true
ort_build_pool_name: 'onnxruntime-Win-CPU-2022'

- template: templates/win-ci.yml
parameters:
DoCompliance: false
DoEsrp: false
stage_name_suffix: CPU_x64_wcos
artifact_name_suffix: '-wcos'
buildArch: x64
msbuildPlatform: x64
packageName: x64
buildparameter: --build_java --build_nodejs --enable_onnx_tests --enable_wcos
runTests: true
buildJava: true
buildNodejs: true
ort_build_pool_name: 'onnxruntime-Win-CPU-2022'

- template: templates/win-ci.yml
parameters:
DoCompliance: false
DoEsrp: false
stage_name_suffix: CPU_x86_extension
artifact_name_suffix: '-extension'
buildArch: x86
msbuildPlatform: Win32
packageName: x86
buildparameter: --enable_onnx_tests
runTests: true
buildJava: false
buildNodejs: false
ort_build_pool_name: 'onnxruntime-Win-CPU-2022'

- template: templates/win-ci.yml
parameters:
DoCompliance: false
DoEsrp: false
stage_name_suffix: CPU_arm_extension
artifact_name_suffix: '-extension'
buildArch: x64
msbuildPlatform: arm
packageName: arm
buildparameter: --arm --use_extensions --enable_onnx_tests --path_to_protoc_exe $(Build.BinariesDirectory)\RelWithDebInfo\installed\bin\protoc.exe
runTests: false
buildJava: false
buildNodejs: false
ort_build_pool_name: 'onnxruntime-Win-CPU-2022'

- template: templates/win-ci.yml
parameters:
DoCompliance: false
DoEsrp: false
stage_name_suffix: CPU_arm64_extension
artifact_name_suffix: '-extension'
buildArch: x64
msbuildPlatform: arm64
packageName: arm64
buildparameter: --build_nodejs --arm64 --use_extensions --enable_onnx_tests --path_to_protoc_exe $(Build.BinariesDirectory)\RelWithDebInfo\installed\bin\protoc.exe
runTests: false
buildJava: false
buildNodejs: true
ort_build_pool_name: 'onnxruntime-Win-CPU-2022'

- template: templates/win-ci.yml
parameters:
DoCompliance: false
DoEsrp: false
stage_name_suffix: CPU_x64_extension
artifact_name_suffix: '-extension'
buildArch: x64
msbuildPlatform: x64
packageName: x64
buildparameter: --build_java --build_nodejs --use_extensions --enable_onnx_tests
runTests: true
buildJava: true
Expand Down
4 changes: 2 additions & 2 deletions tools/ci_build/github/azure-pipelines/templates/win-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ stages:
- template: nodejs-artifacts-package-and-publish-steps-windows.yml
parameters:
arch: ${{ parameters.packageName }}
artifactName: 'drop-onnxruntime-nodejs-win-${{ parameters.packageName }}'
artifactName: 'drop-onnxruntime-nodejs-win-${{ parameters.packageName }}${{ parameters.artifact_name_suffix }}'
DoEsrp: ${{ parameters.DoEsrp }}

#Upload protoc.exe, which will be used in nuget build for generating C# files
Expand Down Expand Up @@ -260,7 +260,7 @@ stages:
displayName: 'Publish Java temp binaries'
inputs:
pathtoPublish: '$(Build.BinariesDirectory)\onnxruntime-java-win-${{ parameters.msbuildPlatform }}'
artifactName: 'drop-onnxruntime-java-win-${{ parameters.packageName }}'
artifactName: 'drop-onnxruntime-java-win-${{ parameters.packageName }}${{parameters.artifact_name_suffix}}'

- ${{ if eq(parameters['DoCompliance'], 'true') }}:
- task: CredScan@3
Expand Down
Loading