mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-30 23:18:20 +00:00
### Description 1. Fix python packaging test pipeline. There was an error in tools/ci_build/github/linux/run_python_tests.sh that it installed a released version of onnxruntime python package from pypi.org to run the test. Supposedly it should pick one from the current build. 2. Refactor the pipeline to allow choosing cmake build type from the web UI when manually trigger a build. Now this feature is for Linux only. Because I don't want to change too much when we are about to cut a release branch. After that I will expand it to all platforms. This feature is useful for debugging pipeline issues, also, we may consider having a nightly pipeline to run all tests in Debug mode which may catch extra bugs because in debug mode we can enforce range check. Test run: https://aiinfra.visualstudio.com/Lotus/_build/results?buildId=342674&view=results ### Motivation and Context Currently the pipeline has a crash error. AB#18580
100 lines
3.2 KiB
YAML
100 lines
3.2 KiB
YAML
parameters:
|
|
- name: arch
|
|
type: string
|
|
|
|
- name: machine_pool
|
|
type: string
|
|
|
|
- name: base_image
|
|
type: string
|
|
|
|
- name: devtoolset_rootpath
|
|
type: string
|
|
|
|
- name: ld_library_path_arg
|
|
type: string
|
|
|
|
- name: prepend_path
|
|
type: string
|
|
|
|
- name: cmake_build_type
|
|
type: string
|
|
default: 'Release'
|
|
values:
|
|
- Debug
|
|
- Release
|
|
- RelWithDebInfo
|
|
- MinSizeRel
|
|
|
|
- name: device
|
|
type: string
|
|
default: 'CPU'
|
|
|
|
- name: with_cache
|
|
type: boolean
|
|
default: false
|
|
|
|
- name: extra_build_arg
|
|
type: string
|
|
default: ''
|
|
|
|
jobs:
|
|
- job: Linux_py_Wheels_${{ parameters.arch }}
|
|
timeoutInMinutes: 240
|
|
workspace:
|
|
clean: all
|
|
pool: ${{ parameters.machine_pool }}
|
|
variables:
|
|
# The build machine pool doesn't have dotnet, so it can't run CG.
|
|
skipComponentGovernanceDetection: true
|
|
ORT_CACHE_DIR: $(Agent.TempDirectory)/ort_ccache
|
|
TODAY: $[format('{0:dd}{0:MM}{0:yyyy}', pipeline.startTime)]
|
|
steps:
|
|
- task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3
|
|
displayName: 'Clean Agent Directories'
|
|
condition: always()
|
|
|
|
- checkout: self
|
|
clean: true
|
|
submodules: none
|
|
|
|
- template: set-nightly-build-option-variable-step.yml
|
|
|
|
- template: get-docker-image-steps.yml
|
|
parameters:
|
|
Dockerfile: tools/ci_build/github/linux/docker/inference/x64/python/cpu/Dockerfile.manylinux2014_cpu
|
|
Context: tools/ci_build/github/linux/docker/inference/x64/python/cpu
|
|
DockerBuildArgs: "--build-arg BUILD_UID=$( id -u ) --build-arg BASEIMAGE=${{ parameters.base_image }} --build-arg PLATFORM=${{ parameters.arch }} --build-arg PREPEND_PATH=${{ parameters.prepend_path }} --build-arg LD_LIBRARY_PATH_ARG=${{ parameters.ld_library_path_arg }} --build-arg DEVTOOLSET_ROOTPATH=${{ parameters.devtoolset_rootpath }}"
|
|
Repository: onnxruntimecpubuildpython${{ parameters.arch }}
|
|
${{ if eq(parameters.arch, 'aarch64') }}:
|
|
UpdateDepsTxt: false
|
|
|
|
- template: linux-build-step-with-cache.yml
|
|
parameters:
|
|
WithCache: ${{parameters.with_cache}}
|
|
Today: $(TODAY)
|
|
AdditionalKey: Linux_py_Wheels_${{ parameters.arch }}
|
|
CacheDir: $(ORT_CACHE_DIR)
|
|
ChangeEveryCommit: true
|
|
BuildStep:
|
|
- task: Bash@3
|
|
displayName: 'Build Python Wheel'
|
|
inputs:
|
|
targetType: filePath
|
|
filePath: tools/ci_build/github/linux/run_python_dockerbuild.sh
|
|
arguments: -i onnxruntimecpubuildpython${{ parameters.arch }} -d "${{ parameters.device }}" -c ${{ parameters.cmake_build_type }} -x "${{ parameters.extra_build_arg }}"
|
|
${{ if eq(parameters.with_cache, 'true') }}:
|
|
env:
|
|
ADDITIONAL_DOCKER_PARAMETER: "--volume $(ORT_CACHE_DIR):/cache -e CCACHE_DIR=/cache -e ORT_BUILD_WITH_CACHE=1"
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
displayName: 'Publish Artifact: ONNXRuntime python wheel'
|
|
inputs:
|
|
PathtoPublish: '$(Build.BinariesDirectory)/dist'
|
|
ArtifactName: onnxruntime
|
|
|
|
- task: PublishPipelineArtifact@0
|
|
displayName: 'Publish Test Binaries'
|
|
inputs:
|
|
artifactName: 'drop-linux-cpu-${{ parameters.arch }}'
|
|
targetPath: '$(Build.BinariesDirectory)/${{ parameters.cmake_build_type }}'
|