mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-25 22:26:24 +00:00
183 lines
5.4 KiB
YAML
183 lines
5.4 KiB
YAML
parameters:
|
|
- name: NpmPackagingMode
|
|
displayName: 'NPM packages publish configuration'
|
|
type: string
|
|
default: 'dev'
|
|
- name: IsReleasePipeline
|
|
displayName: 'Npm packaging pipeline'
|
|
type: boolean
|
|
default: false
|
|
- name: PoolName
|
|
displayName: 'Agent pool name'
|
|
type: string
|
|
default: 'onnxruntime-Win-CPU-2022'
|
|
- name: PackageName
|
|
displayName: 'Package name'
|
|
type: string
|
|
default: 'NPM_packages'
|
|
- name: BuildStaticLib
|
|
displayName: 'Build static library'
|
|
type: boolean
|
|
default: false
|
|
- name: BuildJsep
|
|
displayName: 'Build JSEP'
|
|
type: boolean
|
|
default: true
|
|
|
|
- name: WASMTemplate
|
|
type: string
|
|
default: linux-wasm-ci.yml
|
|
# parameter couldn't be compared by string, so add one boolean parameter.
|
|
- name: UseWebPoolName
|
|
type: boolean
|
|
default: false
|
|
- name: RunWebGpuTestsForReleaseBuild
|
|
type: boolean
|
|
default: false
|
|
- name: RunWebGpuTestsForDebugBuild
|
|
type: boolean
|
|
default: false
|
|
- name: WebGpuPoolName
|
|
type: string
|
|
default: 'onnxruntime-Win2022-webgpu-A10'
|
|
- name: WebCpuPoolName
|
|
type: string
|
|
default: 'onnxruntime-Win-CPU-2022-web'
|
|
|
|
- name: ExtraBuildArgs
|
|
displayName: 'Extra build command line arguments'
|
|
type: string
|
|
|
|
- name: WithCache
|
|
displayName: Build with Cache
|
|
type: boolean
|
|
default: false
|
|
|
|
stages:
|
|
- stage: Precheck_and_extract_commit
|
|
jobs:
|
|
- job: Precheck_and_extract_commit
|
|
pool: ${{ parameters.PoolName }}
|
|
variables:
|
|
runCodesignValidationInjection: false
|
|
timeoutInMinutes: 30
|
|
workspace:
|
|
clean: all
|
|
steps:
|
|
- checkout: self
|
|
submodules: false
|
|
- script: |
|
|
git submodule sync -- cmake/external/onnx
|
|
git submodule update --init -- cmake/external/onnx
|
|
workingDirectory: '$(Build.SourcesDirectory)'
|
|
displayName: 'Checkout submodule onnx'
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: '20.x'
|
|
- template: linux-web-init-and-check.yml
|
|
- task: Bash@3
|
|
displayName: 'Extract commit SHA and save to __commit.txt'
|
|
inputs:
|
|
targetType: 'inline'
|
|
script: |
|
|
echo $(Build.SourceVersion)
|
|
echo $(Build.SourceVersion) > "$(Build.ArtifactStagingDirectory)"/__commit.txt
|
|
- task: PublishPipelineArtifact@0
|
|
displayName: 'Publish __commit.txt'
|
|
inputs:
|
|
artifactName: '__commit'
|
|
targetPath: '$(Build.ArtifactStagingDirectory)'
|
|
|
|
- stage: Build_wasm_Debug
|
|
dependsOn: Precheck_and_extract_commit
|
|
jobs:
|
|
- template: ${{ parameters.WASMTemplate }}
|
|
parameters:
|
|
CommitOverride: true
|
|
BuildConfig: 'Debug'
|
|
ExtraBuildArgs: '--enable_wasm_profiling ${{ parameters.ExtraBuildArgs }}'
|
|
PoolName: ${{ parameters.PoolName }}
|
|
BuildJsep: ${{ parameters.BuildJsep }}
|
|
WithCache: ${{ parameters.WithCache }}
|
|
|
|
- stage: Build_web_Debug
|
|
dependsOn: Build_wasm_Debug
|
|
jobs:
|
|
- template: win-web-ci.yml
|
|
parameters:
|
|
CommitOverride: true
|
|
BuildConfig: 'Debug'
|
|
NpmPackagingMode: ${{ parameters.NpmPackagingMode }}
|
|
${{ if eq(parameters.UseWebPoolName, true)}}:
|
|
${{ if eq(parameters.RunWebGpuTestsForDebugBuild, true)}}:
|
|
PoolName: ${{ parameters.WebGpuPoolName }}
|
|
${{ else }}:
|
|
PoolName: ${{ parameters.WebCpuPoolName }}
|
|
${{ else }}:
|
|
PoolName: ${{ parameters.PoolName }}
|
|
PackageName: ${{ parameters.PackageName }}
|
|
RunWebGpuTests: ${{ parameters.RunWebGpuTestsForDebugBuild }}
|
|
|
|
- stage: Build_wasm_Release
|
|
dependsOn: Precheck_and_extract_commit
|
|
jobs:
|
|
- template: ${{ parameters.WASMTemplate }}
|
|
parameters:
|
|
CommitOverride: true
|
|
BuildConfig: 'Release'
|
|
ExtraBuildArgs: '--target onnxruntime_webassembly --skip_tests --enable_wasm_api_exception_catching --disable_rtti ${{ parameters.ExtraBuildArgs }}'
|
|
PoolName: ${{ parameters.PoolName }}
|
|
BuildJsep: ${{ parameters.BuildJsep }}
|
|
WithCache: ${{ parameters.WithCache }}
|
|
|
|
- ${{ if eq(parameters.BuildStaticLib, 'true') }}:
|
|
- stage: Build_wasm_Release_static_library
|
|
dependsOn: Precheck_and_extract_commit
|
|
jobs:
|
|
- template: ${{ parameters.WASMTemplate }}
|
|
parameters:
|
|
CommitOverride: true
|
|
BuildConfig: 'Release'
|
|
ExtraBuildArgs: '${{ parameters.ExtraBuildArgs }}'
|
|
PoolName: ${{ parameters.PoolName }}
|
|
SkipPublish: true
|
|
TimeoutInMinutes: 270
|
|
BuildStaticLib: true
|
|
WithCache: ${{ parameters.WithCache }}
|
|
|
|
- stage: Build_web_Release
|
|
dependsOn: Build_wasm_Release
|
|
jobs:
|
|
- template: win-web-ci.yml
|
|
parameters:
|
|
CommitOverride: true
|
|
BuildConfig: 'Release'
|
|
NpmPackagingMode: ${{ parameters.NpmPackagingMode }}
|
|
${{ if eq(parameters.UseWebPoolName, true)}}:
|
|
${{ if eq(parameters.RunWebGpuTestsForReleaseBuild, true)}}:
|
|
PoolName: ${{ parameters.WebGpuPoolName }}
|
|
${{ else }}:
|
|
PoolName: ${{ parameters.WebCpuPoolName }}
|
|
${{ else }}:
|
|
PoolName: ${{ parameters.PoolName }}
|
|
PackageName: ${{ parameters.PackageName }}
|
|
RunWebGpuTests: ${{ parameters.RunWebGpuTestsForReleaseBuild }}
|
|
|
|
# Disable BrowserStack test
|
|
# TODO: fix and re-enable in PostMerge test
|
|
#
|
|
# - ${{ if ne(parameters.IsReleasePipeline, true) }}:
|
|
# - stage: Test_web_BrowserStack
|
|
# dependsOn: Build_wasm_Release
|
|
# jobs:
|
|
# - template: web-browserstack-ci.yml
|
|
# parameters:
|
|
# CommitOverride: true
|
|
|
|
- ${{ if ne(parameters.IsReleasePipeline, true) }}:
|
|
- stage: Test_web_MultiBrowsers
|
|
dependsOn: Build_wasm_Release
|
|
jobs:
|
|
- template: win-web-multi-browsers.yml
|
|
parameters:
|
|
CommitOverride: true
|