mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-06-17 01:44:45 +00:00
### Description 1. The protoc package on nuget.org contains binaries for Windows_x86/Windows_x64/Linux_x86/Linux_x64/MacOS_x64, which can cover most use cases. Though it doesn't have binaries for AMR64, they are only needed when we cross-compile for Intel CPUs on ARM CPUs. It is rare. When you have such a need, you always can build protoc from source by yourself and pass it to build.py as "--path_to_protoc_exe". Or if you have security concerns that you don't want to use prebuilt binaries from outside, you can do the same thing. 2. Remove GoogleTestAdapter related thing. That part of code is out of maintain. ### Motivation and Context As a follow-up of PR #15190.
125 lines
4.8 KiB
YAML
125 lines
4.8 KiB
YAML
parameters:
|
|
- name: CommitOverride
|
|
type: boolean
|
|
default: false
|
|
|
|
- name: BuildConfig
|
|
type: string
|
|
default: 'Debug'
|
|
|
|
- name: ExtraBuildArgs
|
|
type: string
|
|
default: ''
|
|
|
|
- name: PoolName
|
|
type: string
|
|
default: 'onnxruntime-Win-CPU-2019'
|
|
|
|
- name: SkipPublish
|
|
type: boolean
|
|
default: false
|
|
|
|
- name: TimeoutInMinutes
|
|
default: 180
|
|
|
|
jobs:
|
|
- job: build_WASM
|
|
pool: ${{ parameters.PoolName }}
|
|
|
|
variables:
|
|
EnvSetupScript: setup_env.bat
|
|
buildArch: x64
|
|
CommonBuildArgs: '--parallel --config ${{ parameters.BuildConfig }} --skip_submodule_sync --cmake_generator "Visual Studio 16 2019" --build_wasm --use_xnnpack --emsdk_version releases-29ad1037cd6b99e5d8a1bd75bc188c1e9a6fda8d-64bit ${{ parameters.ExtraBuildArgs }}'
|
|
runCodesignValidationInjection: false
|
|
timeoutInMinutes: ${{ parameters.TimeoutInMinutes }}
|
|
workspace:
|
|
clean: all
|
|
steps:
|
|
- checkout: self
|
|
- task: DownloadPipelineArtifact@2
|
|
inputs:
|
|
artifact: '__commit'
|
|
path: $(Pipeline.Workspace)
|
|
displayName: 'Get commit SHA'
|
|
condition: eq('${{ parameters.CommitOverride }}', 'true')
|
|
- script: |
|
|
set /p __commit__=<$(Pipeline.Workspace)\__commit.txt
|
|
git fetch origin +%__commit__%:refs/remotes/origin/%__commit__%
|
|
git checkout --force %__commit__%
|
|
workingDirectory: '$(Build.SourcesDirectory)'
|
|
displayName: 'Read commit SHA and checkout'
|
|
condition: eq('${{ parameters.CommitOverride }}', 'true')
|
|
- script: |
|
|
git submodule sync --recursive
|
|
git submodule update --init --recursive
|
|
workingDirectory: '$(Build.SourcesDirectory)'
|
|
displayName: 'Checkout submodules'
|
|
- task: UsePythonVersion@0
|
|
inputs:
|
|
versionSpec: '3.8'
|
|
addToPath: true
|
|
architecture: $(buildArch)
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: '16.x'
|
|
- task: BatchScript@1
|
|
displayName: 'setup env'
|
|
inputs:
|
|
filename: '$(Build.SourcesDirectory)\tools\ci_build\github\windows\$(EnvSetupScript)'
|
|
modifyEnvironment: true
|
|
workingFolder: '$(Build.BinariesDirectory)'
|
|
- script: |
|
|
python -m pip install -q setuptools wheel numpy ninja
|
|
workingDirectory: '$(Build.BinariesDirectory)'
|
|
displayName: 'Install python modules'
|
|
|
|
- task: PythonScript@0
|
|
displayName: 'Build and test (node)'
|
|
inputs:
|
|
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
|
arguments: '$(CommonBuildArgs) --build_dir $(Build.BinariesDirectory)\wasm'
|
|
workingDirectory: '$(Build.BinariesDirectory)'
|
|
- task: PythonScript@0
|
|
displayName: 'Build and test (node) (threads)'
|
|
inputs:
|
|
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
|
arguments: '$(CommonBuildArgs) --build_dir $(Build.BinariesDirectory)\wasm_threads --enable_wasm_threads'
|
|
workingDirectory: '$(Build.BinariesDirectory)'
|
|
- task: PythonScript@0
|
|
displayName: 'Build and test (node) (simd + threads)'
|
|
inputs:
|
|
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
|
arguments: '$(CommonBuildArgs) --build_dir $(Build.BinariesDirectory)\wasm_simd_threads --enable_wasm_simd --enable_wasm_threads'
|
|
workingDirectory: '$(Build.BinariesDirectory)'
|
|
- task: PythonScript@0
|
|
displayName: 'Build and test (node) (simd)'
|
|
inputs:
|
|
scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py'
|
|
arguments: '$(CommonBuildArgs) --build_dir $(Build.BinariesDirectory)\wasm_simd --enable_wasm_simd'
|
|
workingDirectory: '$(Build.BinariesDirectory)'
|
|
- ${{ if eq(parameters.SkipPublish, false) }}:
|
|
- script: |
|
|
copy $(Build.BinariesDirectory)\wasm\${{ parameters.BuildConfig }}\ort-wasm*.* $(Build.ArtifactStagingDirectory)
|
|
copy $(Build.BinariesDirectory)\wasm_threads\${{ parameters.BuildConfig }}\ort-wasm*.* $(Build.ArtifactStagingDirectory)
|
|
copy $(Build.BinariesDirectory)\wasm_simd_threads\${{ parameters.BuildConfig }}\ort-wasm*.* $(Build.ArtifactStagingDirectory)
|
|
copy $(Build.BinariesDirectory)\wasm_simd\${{ parameters.BuildConfig }}\ort-wasm*.* $(Build.ArtifactStagingDirectory)
|
|
displayName: 'Create Artifacts'
|
|
- ${{ if eq(parameters.SkipPublish, false) }}:
|
|
- task: PublishPipelineArtifact@0
|
|
displayName: 'Publish Pipeline Artifact'
|
|
inputs:
|
|
artifactName: '${{ parameters.BuildConfig }}_wasm'
|
|
targetPath: '$(Build.ArtifactStagingDirectory)'
|
|
- task: PublishTestResults@2
|
|
displayName: 'Publish unit test results'
|
|
inputs:
|
|
testResultsFiles: '**/*.results.xml'
|
|
searchFolder: '$(Build.BinariesDirectory)'
|
|
testRunTitle: 'Unit Test Run'
|
|
condition: and(succeededOrFailed(), eq('${{ parameters.BuildConfig }}', 'Debug'))
|
|
- template: component-governance-component-detection-steps.yml
|
|
parameters :
|
|
condition : 'succeeded'
|
|
- task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3
|
|
displayName: 'Clean Agent Directories'
|
|
condition: always()
|