microsoft/onnxruntime-extensions

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
27132ced71e5e35e3ee706398a316010a5ada1d9

Branches

Tags

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

Clone

HTTPS

Download ZIP

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

98lines · 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: 'aiinfra-Linux-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 # Currently we can only run tests on x64 as the arm64 tests have a failure
38 # https://github.com/microsoft/onnxruntime-extensions/issues/417
39 # NOTE: on arm64 machine, CMake version needs to be updated since we now require CMake 3.25 or newer.
40 - ${{ if eq(parameters.OrtExtensionsArch, 'x64') }}:
41 - bash: |
42 export CFLAGS="${{parameters.OrtExtensionsCFlags}}"
43 export CXXFLAGS="${{parameters.OrtExtensionsCXXFlags}}"
44 ./build_lib.sh --build_dir $(Build.BinariesDirectory)/out/ --config RelWithDebInfo --parallel --enable_cxx_tests ${{parameters.AdditionalBuildFlags}}
45 workingDirectory: '$(Build.SourcesDirectory)'
46 displayName: 'build onnxruntime-extensions and run tests'
47 - ${{ else }}:
48 - bash: |
49 sudo apt remove cmake
50 pip install cmake --upgrade
51 export PATH=~/.local/bin:$PATH
52 cmake --version
53 export CFLAGS="${{parameters.OrtExtensionsCFlags}}"
54 export CXXFLAGS="${{parameters.OrtExtensionsCXXFlags}}"
55 ./build_lib.sh --build_dir $(Build.BinariesDirectory)/out/ --config RelWithDebInfo --parallel ${{parameters.AdditionalBuildFlags}}
56 workingDirectory: '$(Build.SourcesDirectory)'
57 displayName: 'build onnxruntime-extensions'
58
59 - template: set-package-version-variable-step.yml
60 parameters:
61 IsReleaseBuild: true
62 PackageVersionVariableName: ORT_EXTENSIONS_VERSION
63
64 - bash: |
65 set -e -x
66
67 lib_target=$(Build.BinariesDirectory)/onnxruntime-extensions-linux-${{parameters.OrtExtensionsArch}}-$(ORT_EXTENSIONS_VERSION)/lib
68 mkdir -p $lib_target
69
70 ls -l out/RelWithDebInfo/lib
71 cp out/RelWithDebInfo/lib/libortextensions.so $lib_target
72
73 cd $lib_target
74 objcopy --only-keep-debug libortextensions.so libortextensions.so.dbg
75 objcopy --strip-debug libortextensions.so
76 objcopy --add-gnu-debuglink=libortextensions.so.dbg libortextensions.so
77
78 displayName: create and copy artifacts.
79 workingDirectory: $(Build.BinariesDirectory)
80
81
82 - task: ArchiveFiles@2
83 inputs:
84 rootFolderOrFile: '$(Build.BinariesDirectory)/onnxruntime-extensions-linux-${{parameters.OrtExtensionsArch}}-$(ORT_EXTENSIONS_VERSION)'
85 includeRootFolder: true
86 archiveType: 'tar' # Options: zip, 7z, tar, wim
87 tarCompression: 'gz'
88 archiveFile: '$(Build.ArtifactStagingDirectory)/onnxruntime-extensions-linux-${{parameters.OrtExtensionsArch}}.tgz'
89 replaceExistingArchive: true
90
91 - task: PublishPipelineArtifact@1
92 inputs:
93 targetPath: '$(Build.ArtifactStagingDirectory)'
94 artifactName: 'onnxruntime-extensions-linux-${{parameters.OrtExtensionsArch}}'
95
96 - task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3
97 displayName: 'Clean Agent Directories'
98 condition: always()
99