mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-16 21:00:14 +00:00
1. Add python 3.13 to our python packaging pipelines 2. Because numpy 2.0.0 doesn't support thread free python, this PR also upgrades numpy to the latest 3. Delete some unused files.
114 lines
4.5 KiB
YAML
114 lines
4.5 KiB
YAML
# This file contains the ADO job that build libonnxruntime.so on Linux
|
|
parameters:
|
|
- name: AdditionalBuildFlags
|
|
displayName: Additional build flags for build.py
|
|
type: string
|
|
default: ''
|
|
|
|
- name: BaseImage
|
|
type: string
|
|
|
|
- name: OnnxruntimeArch
|
|
type: string
|
|
|
|
- name: OnnxruntimeNodejsBindingArch
|
|
type: string
|
|
values:
|
|
- arm64
|
|
- x64
|
|
|
|
- name: PoolName
|
|
type: string
|
|
default: 'onnxruntime-Ubuntu2204-AMD-CPU'
|
|
|
|
- name: ArtifactNamePrefix
|
|
type: string
|
|
default: "onnxruntime"
|
|
|
|
- name: PackageJava
|
|
type: boolean
|
|
default: true
|
|
|
|
- name: PackageNodejs
|
|
type: boolean
|
|
default: true
|
|
|
|
jobs:
|
|
- job: Linux_C_API_Packaging_CPU_${{parameters.OnnxruntimeArch}}
|
|
|
|
workspace:
|
|
clean: all
|
|
timeoutInMinutes: 210
|
|
pool: ${{parameters.PoolName}}
|
|
steps:
|
|
- checkout: self
|
|
clean: true
|
|
submodules: none
|
|
- template: set-version-number-variables-step.yml
|
|
- ${{ if eq(parameters.OnnxruntimeArch, 'x64') }}:
|
|
- template: get-docker-image-steps.yml
|
|
parameters:
|
|
Dockerfile: tools/ci_build/github/linux/docker/inference/x86_64/default/cpu/Dockerfile
|
|
Context: tools/ci_build/github/linux/docker/inference/x86_64/default/cpu
|
|
DockerBuildArgs: "--build-arg BUILD_UID=$( id -u ) --build-arg BASEIMAGE=${{parameters.BaseImage}}"
|
|
Repository: onnxruntimecpubuildcentos8${{parameters.OnnxruntimeArch}}_packaging
|
|
|
|
- ${{ if eq(parameters.OnnxruntimeArch, 'aarch64') }}:
|
|
- template: get-docker-image-steps.yml
|
|
parameters:
|
|
Dockerfile: tools/ci_build/github/linux/docker/inference/aarch64/default/cpu/Dockerfile
|
|
Context: tools/ci_build/github/linux/docker/inference/aarch64/default/cpu
|
|
DockerBuildArgs: "--build-arg BUILD_UID=$( id -u ) --build-arg BASEIMAGE=${{parameters.BaseImage}}"
|
|
Repository: onnxruntimecpubuildcentos8${{parameters.OnnxruntimeArch}}_packaging
|
|
UpdateDepsTxt: false
|
|
|
|
- task: CmdLine@2
|
|
inputs:
|
|
script: |
|
|
set -e -x
|
|
mkdir -p $HOME/.onnx
|
|
docker run --rm --volume /data/onnx:/data/onnx:ro --volume $(Build.SourcesDirectory):/onnxruntime_src --volume $(Build.BinariesDirectory):/build \
|
|
--volume $HOME/.onnx:/home/onnxruntimedev/.onnx -e NIGHTLY_BUILD onnxruntimecpubuildcentos8${{parameters.OnnxruntimeArch}}_packaging /bin/bash -c "python3.12 \
|
|
/onnxruntime_src/tools/ci_build/build.py --enable_lto --build_java --build_nodejs --build_dir /build --config Release \
|
|
--skip_submodule_sync --parallel --use_binskim_compliant_compile_flags --build_shared_lib ${{ parameters.AdditionalBuildFlags }} && cd /build/Release && make install DESTDIR=/build/installed"
|
|
workingDirectory: $(Build.SourcesDirectory)
|
|
displayName: 'Build'
|
|
|
|
- script: |
|
|
set -e -x
|
|
mkdir $(Build.ArtifactStagingDirectory)/testdata
|
|
cp $(Build.BinariesDirectory)/Release/libcustom_op_library.so* $(Build.ArtifactStagingDirectory)/testdata
|
|
ls -al $(Build.ArtifactStagingDirectory)
|
|
displayName: 'Create Artifacts'
|
|
|
|
- ${{ if eq(parameters.PackageJava, 'true') }}:
|
|
- template: java-api-artifacts-package-and-publish-steps-posix.yml
|
|
parameters:
|
|
arch: 'linux-${{parameters.OnnxruntimeArch}}'
|
|
buildConfig: 'Release'
|
|
artifactName: 'onnxruntime-java-linux-${{parameters.OnnxruntimeArch}}'
|
|
version: '$(OnnxRuntimeVersion)'
|
|
libraryName: 'libonnxruntime.so'
|
|
nativeLibraryName: 'libonnxruntime4j_jni.so'
|
|
|
|
- template: c-api-artifacts-package-and-publish-steps-posix.yml
|
|
parameters:
|
|
buildConfig: 'Release'
|
|
artifactName: '${{parameters.ArtifactNamePrefix}}-linux-${{parameters.OnnxruntimeArch}}-$(OnnxRuntimeVersion)'
|
|
artifactNameNoVersionString: '${{parameters.ArtifactNamePrefix}}-linux-${{parameters.OnnxruntimeArch}}'
|
|
libraryName: 'libonnxruntime.so.$(OnnxRuntimeVersion)'
|
|
|
|
- ${{ if eq(parameters.PackageNodejs, 'true') }}:
|
|
- template: nodejs-artifacts-package-and-publish-steps-posix.yml
|
|
parameters:
|
|
arch: '${{parameters.OnnxruntimeNodejsBindingArch}}'
|
|
os: 'linux'
|
|
artifactName: 'drop-onnxruntime-nodejs-linux-${{parameters.OnnxruntimeArch}}'
|
|
|
|
- ${{ if not(eq(parameters.OnnxruntimeNodejsBindingArch, 'arm64')) }}:
|
|
- template: component-governance-component-detection-steps.yml
|
|
parameters:
|
|
condition: 'succeeded'
|
|
- task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3
|
|
displayName: 'Clean Agent Directories'
|
|
condition: always()
|