onnxruntime/tools/ci_build/github/azure-pipelines/templates/linux-cpu-packaging-pipeline.yml
Ashwini Khade 0ffae8073b
Creating Nuget and Android packages for Training (#15712)
### Description
This PR creates Nuget and Android for Training. 


### Motivation and Context
These packages are intended to be released in ORT 1.15 to enable
On-Device Training Scenarios.

## Packaging Story for Learning On The Edge Release
### Nuget Packages:
1. New Native package -> **Microsoft.ML.OnnxRuntime.Training** (Native
package will contain binaries for: win-x86, win-x64, win-arm, win-arm64,
linux-x64, linux-arm64, android)
2. C# bindings will be added to existing package ->
**Microsoft.ML.OnnxRuntime.Managed**

### Android Package published to Maven:
1. New package for training (full build) ->
**onnxruntime-training-android-full-aar**

### Python Package published to PyPi:
1. Python bindings and offline tooling will be added to the existing ort
training package -> **onnxruntime-training**
2023-05-01 12:59:56 -07:00

53 lines
2 KiB
YAML

parameters:
- name: AdditionalBuildFlags
displayName: Additional build flags for build.py
type: string
default: ''
- name: stage_name_suffix
displayName: Suffix for stage name as every stage name needs to be unique
type: string
default: 'CPU'
- name: ArtifactNamePrefix
displayName: Prefix for artifact name
type: string
default: onnxruntime
- name: PackageJava
type: boolean
default: true
- name: PackageNodejs
type: boolean
default: true
stages:
- stage: Linux_C_API_Packaging_${{ parameters.stage_name_suffix }}
dependsOn: [ ]
jobs:
- template: c-api-linux-cpu.yml
parameters:
AdditionalBuildFlags: ${{ parameters.AdditionalBuildFlags }}
BaseImage: 'centos:7'
OnnxruntimeArch: 'x64'
OnnxruntimeCFlags: '-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all'
OnnxruntimeCXXFlags: '-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all'
OnnxruntimeNodejsBindingArch: 'x64'
PoolName: 'aiinfra-Linux-CPU'
ArtifactNamePrefix: ${{ parameters.ArtifactNamePrefix }}
PackageJava: ${{ parameters.PackageJava }}
PackageNodeJS: ${{ parameters.PackageNodeJS }}
- template: c-api-linux-cpu.yml
parameters:
AdditionalBuildFlags: ${{ parameters.AdditionalBuildFlags }}
BaseImage: 'arm64v8/centos:7'
OnnxruntimeArch: 'aarch64'
OnnxruntimeCFlags: '-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -O3 -Wl,--strip-all'
OnnxruntimeCXXFlags: '-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -O3 -Wl,--strip-all'
OnnxruntimeNodejsBindingArch: 'arm64'
PoolName: 'aiinfra-linux-ARM64-CPU-2019'
ArtifactNamePrefix: ${{ parameters.ArtifactNamePrefix }}
PackageJava: ${{ parameters.PackageJava }}
PackageNodeJS: ${{ parameters.PackageNodeJS }}