microsoft/onnxruntime-extensions

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
b7b8816dab43f095079c5c7609764c702e3c6e49

Branches

Tags

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

Clone

HTTPS

Download ZIP

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

93lines · 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 - ${{ if eq(parameters.OrtExtensionsArch, 'x64') }}:
40 - bash: |
41 export CFLAGS="${{parameters.OrtExtensionsCFlags}}"
42 export CXXFLAGS="${{parameters.OrtExtensionsCXXFlags}}"
43 ./build_lib.sh --build_dir $(Build.BinariesDirectory)/out/ --config RelWithDebInfo --parallel --enable_cxx_tests ${{parameters.AdditionalBuildFlags}}
44 workingDirectory: '$(Build.SourcesDirectory)'
45 displayName: 'build onnxruntime-extensions and run tests'
46 - ${{ else }}:
47 - bash: |
48 export CFLAGS="${{parameters.OrtExtensionsCFlags}}"
49 export CXXFLAGS="${{parameters.OrtExtensionsCXXFlags}}"
50 ./build_lib.sh --build_dir $(Build.BinariesDirectory)/out/ --config RelWithDebInfo --parallel ${{parameters.AdditionalBuildFlags}}
51 workingDirectory: '$(Build.SourcesDirectory)'
52 displayName: 'build onnxruntime-extensions'
53
54 - template: set-package-version-variable-step.yml
55 parameters:
56 IsReleaseBuild: true
57 PackageVersionVariableName: ORT_EXTENSIONS_VERSION
58
59 - bash: |
60 set -e -x
61
62 lib_target=$(Build.BinariesDirectory)/onnxruntime-extensions-linux-${{parameters.OrtExtensionsArch}}-$(ORT_EXTENSIONS_VERSION)/lib
63 mkdir -p $lib_target
64
65 ls -l out/RelWithDebInfo/lib
66 cp out/RelWithDebInfo/lib/libortextensions.so $lib_target
67
68 cd $lib_target
69 objcopy --only-keep-debug libortextensions.so libortextensions.so.dbg
70 objcopy --strip-debug libortextensions.so
71 objcopy --add-gnu-debuglink=libortextensions.so.dbg libortextensions.so
72
73 displayName: create and copy artifacts.
74 workingDirectory: $(Build.BinariesDirectory)
75
76
77 - task: ArchiveFiles@2
78 inputs:
79 rootFolderOrFile: '$(Build.BinariesDirectory)/onnxruntime-extensions-linux-${{parameters.OrtExtensionsArch}}-$(ORT_EXTENSIONS_VERSION)'
80 includeRootFolder: true
81 archiveType: 'tar' # Options: zip, 7z, tar, wim
82 tarCompression: 'gz'
83 archiveFile: '$(Build.ArtifactStagingDirectory)/onnxruntime-extensions-linux-${{parameters.OrtExtensionsArch}}.tgz'
84 replaceExistingArchive: true
85
86 - task: PublishPipelineArtifact@1
87 inputs:
88 targetPath: '$(Build.ArtifactStagingDirectory)'
89 artifactName: 'onnxruntime-extensions-linux-${{parameters.OrtExtensionsArch}}'
90
91 - task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3
92 displayName: 'Clean Agent Directories'
93 condition: always()
94