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: 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 }}" -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)/Release'