microsoft/onnxruntime-extensions

Public

mirrored fromhttps://github.com/microsoft/onnxruntime-extensionsAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
0d5d19f67b28024de0b88d4a61bcc4157dc06248

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

.pipelines/templates/build-package-for-linux.yml

105lines · modecode

1# This file contains the ADO job that build so-file on Linux
2parameters:
3- name: IsReleaseBuild
4 displayName: "Is this a release build?"
5 type: boolean
6 default: false
7
8- name: OrtExtensionsArch
9 type: string
10
11- name: PoolName
12 type: string
13 default: 'onnxruntime-Ubuntu2204-AMD-CPU'
14
15- name: OrtExtensionsCFlags
16 type: string
17
18- name: OrtExtensionsCXXFlags
19 type: string
20
21- name: AdditionalBuildFlags
22 displayName: Additional build flags for build_lib.sh
23 type: string
24
25jobs:
26- job: Linux_C_API_Packaging_CPU_${{parameters.OrtExtensionsArch}}
27
28 workspace:
29 clean: all
30 timeoutInMinutes: 210
31 pool: ${{parameters.PoolName}}
32 steps:
33 - checkout: self
34 clean: true
35 submodules: none
36
37 - bash: |
38 sudo apt-get update
39 sudo apt-get install -y libssh-dev
40 displayName: Install OpenSSL for Azure custom ops
41
42 # NOTE: on arm64 machine, CMake version needs to be updated since we now require CMake 3.25 or newer.
43 - ${{ if eq(parameters.OrtExtensionsArch, 'x64') }}:
44 - bash: |
45 export CFLAGS="${{parameters.OrtExtensionsCFlags}}"
46 export CXXFLAGS="${{parameters.OrtExtensionsCXXFlags}}"
47 ./build_lib.sh --build_dir $(Build.BinariesDirectory)/out/ --config RelWithDebInfo --parallel --enable_cxx_tests ${{parameters.AdditionalBuildFlags}}
48 workingDirectory: '$(Build.SourcesDirectory)'
49 displayName: 'build onnxruntime-extensions and run tests'
50 - ${{ else }}:
51 - bash: |
52 sudo apt remove cmake
53 pip install cmake --upgrade
54 export PATH=~/.local/bin:$PATH
55 cmake --version
56 export CFLAGS="${{parameters.OrtExtensionsCFlags}}"
57 export CXXFLAGS="${{parameters.OrtExtensionsCXXFlags}}"
58 ./build_lib.sh --build_dir $(Build.BinariesDirectory)/out/ --config RelWithDebInfo --parallel --enable_cxx_tests ${{parameters.AdditionalBuildFlags}}
59 workingDirectory: '$(Build.SourcesDirectory)'
60 displayName: 'build onnxruntime-extensions'
61
62 - template: set-package-version-variable-step.yml
63 parameters:
64 IsReleaseBuild: true
65 PackageVersionVariableName: ORT_EXTENSIONS_VERSION
66
67 - bash: |
68 set -e -x
69
70 lib_target=$(Build.BinariesDirectory)/onnxruntime-extensions-linux-${{parameters.OrtExtensionsArch}}-$(ORT_EXTENSIONS_VERSION)/lib
71 mkdir -p $lib_target
72
73 ls -l out/RelWithDebInfo/lib
74 cp out/RelWithDebInfo/lib/libortextensions.so $lib_target
75
76 cd $lib_target
77 objcopy --only-keep-debug libortextensions.so libortextensions.so.dbg
78 objcopy --strip-debug libortextensions.so
79 objcopy --add-gnu-debuglink=libortextensions.so.dbg libortextensions.so
80
81 displayName: create and copy artifacts.
82 workingDirectory: $(Build.BinariesDirectory)
83
84
85 - task: ArchiveFiles@2
86 inputs:
87 rootFolderOrFile: '$(Build.BinariesDirectory)/onnxruntime-extensions-linux-${{parameters.OrtExtensionsArch}}-$(ORT_EXTENSIONS_VERSION)'
88 includeRootFolder: true
89 archiveType: 'tar' # Options: zip, 7z, tar, wim
90 tarCompression: 'gz'
91 archiveFile: '$(Build.ArtifactStagingDirectory)/onnxruntime-extensions-linux-${{parameters.OrtExtensionsArch}}.tgz'
92 replaceExistingArchive: true
93
94 - task: PublishPipelineArtifact@1
95 inputs:
96 targetPath: '$(Build.ArtifactStagingDirectory)'
97 artifactName: 'onnxruntime-extensions-linux-${{parameters.OrtExtensionsArch}}'
98
99 - template: component-governance-component-detection-steps.yml
100 parameters :
101 condition : 'succeeded'
102
103 - task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3
104 displayName: 'Clean Agent Directories'
105 condition: always()