Add Windows ARM build jobs to post merge pipeline (#18832)

### Description
Add Windows ARM build jobs to post merge pipeline to valid our code is
still compatible with these build settings.
This commit is contained in:
Changming Sun 2023-12-15 08:47:52 -08:00 committed by GitHub
parent 5eda79bdd3
commit fc9ecb59db
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 144 additions and 6 deletions

View file

@ -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.
@ -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
@ -38,6 +56,125 @@ stages:
buildArch: x64
msbuildPlatform: arm64
packageName: arm64
buildparameter: --build_nodejs --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_default
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
@ -48,7 +185,8 @@ stages:
parameters:
DoCompliance: false
DoEsrp: false
stage_name_suffix: CPU_x64_default
stage_name_suffix: CPU_x64_extension
artifact_name_suffix: '-extension'
buildArch: x64
msbuildPlatform: x64
packageName: x64

View file

@ -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
@ -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