Skip to content

Commit eeb7107

Browse files
committed
Move to template
1 parent 6e006b5 commit eeb7107

File tree

2 files changed

+146
-149
lines changed

2 files changed

+146
-149
lines changed

tools/ci_build/github/azure-pipelines/custom-nuget-packaging-pipeline.yml

Lines changed: 6 additions & 149 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@ parameters:
2323
type: number
2424
default: 0
2525

26-
- name: PackageName
27-
displayName: What is the package name? Override using an environment variable CustomPackageName.
28-
type: string
29-
default: 'Microsoft.ML.OnnxRuntime.Foundry'
30-
3126
variables:
3227
- template: templates/common-variables.yml
3328
- name: ReleaseVersionSuffix
@@ -137,147 +132,9 @@ extends:
137132
AdditionalBuildFlags: '--use_webgpu --skip_tests'
138133
DoEsrp: true
139134

140-
- stage: NugetPackaging
141-
dependsOn: [Windows_Packaging_CUDA, Windows_Packaging_CPU_arm64, ManagedNugetPackaging, MacOS_C_API_Package_Publish]
142-
jobs:
143-
- job: CreateNugetPackage
144-
pool: 'Onnxruntime-Win2022-GPU-A10'
145-
timeoutInMinutes: 120
146-
steps:
147-
- checkout: self
148-
clean: true
149-
submodules: none
150-
151-
- task: UsePythonVersion@0
152-
inputs:
153-
versionSpec: '3.12'
154-
addToPath: true
155-
- task: PipAuthenticate@1
156-
displayName: 'Pip Authenticate'
157-
inputs:
158-
artifactFeeds: 'Lotus'
159-
160-
- task: DownloadPipelineArtifact@0
161-
displayName: 'Download Pipeline Artifact - managed nuget'
162-
inputs:
163-
artifactName: 'onnxruntime-managed-nuget'
164-
targetPath: '$(Build.BinariesDirectory)/managed-nuget'
165-
166-
- task: DownloadPipelineArtifact@0
167-
displayName: 'Download Pipeline Artifact - win-x64'
168-
inputs:
169-
artifactName: 'onnxruntime-win-x64-cuda'
170-
targetPath: '$(Build.BinariesDirectory)/win-x64'
171-
172-
- task: DownloadPipelineArtifact@0
173-
displayName: 'Download Pipeline Artifact - win-arm64'
174-
inputs:
175-
artifactName: 'onnxruntime-win-arm64'
176-
targetPath: '$(Build.BinariesDirectory)/win-arm64'
177-
178-
- task: DownloadPipelineArtifact@0
179-
displayName: 'Download Pipeline Artifact - osx'
180-
inputs:
181-
artifactName: 'onnxruntime-osx'
182-
targetPath: '$(Build.BinariesDirectory)/osx'
183-
184-
- task: PowerShell@2
185-
displayName: 'Create osx directories'
186-
inputs:
187-
targetType: 'inline'
188-
script: |
189-
mkdir -p $(Build.BinariesDirectory)/osx-arm64
190-
Move-Item -Path $(Build.BinariesDirectory)/osx/onnxruntime-osx-arm64* -Destination $(Build.BinariesDirectory)/osx-arm64
191-
192-
- task: PowerShell@2
193-
displayName: 'List all files downloaded'
194-
inputs:
195-
targetType: 'inline'
196-
script: |
197-
$files = Get-ChildItem $(Build.BinariesDirectory) -Recurse
198-
foreach ($file in $files) {
199-
Write-Host "File: $($file.FullName)"
200-
if ($file -like "*onnxruntime*") {
201-
Write-Host "File onnxruntime: $($file.FullName) - Size: $($file.Length)"
202-
}
203-
}
204-
$dirs = Get-ChildItem $(Build.BinariesDirectory) -Directory
205-
foreach ($dir in $dirs) {
206-
Write-Host "Directory: $($dir.FullName)"
207-
}
208-
$osx_arm64_archive = Get-ChildItem -Path $(Build.BinariesDirectory)/osx-arm64 -Filter onnxruntime-osx-arm64*
209-
if ($osx_arm64_archive.Count -eq 0) {
210-
Write-Host "No osx-arm64 archive found."
211-
} else {
212-
Write-Host "osx-arm64 archive found: $($osx_arm64_archive[0].FullName)"
213-
}
214-
workingDirectory: $(Build.BinariesDirectory)
215-
216-
- task: PowerShell@2
217-
displayName: 'Extract Nuget Package Version'
218-
inputs:
219-
targetType: 'inline'
220-
script: |
221-
$nupkgs = (Get-ChildItem $(Build.BinariesDirectory)/managed-nuget -Filter Microsoft.ML.OnnxRuntime.Managed.*.nupkg -Recurse)
222-
$package_name = $nupkgs[0].Name
223-
$version_length = $package_name.Length - "Microsoft.ML.OnnxRuntime.Managed.".Length - ".nupkg".Length
224-
$package_version = $package_name.Substring("Microsoft.ML.OnnxRuntime.Managed.".Length, $version_length)
225-
Write-Host "##vso[task.setvariable variable=package_version;]$package_version"
226-
workingDirectory: $(Build.BinariesDirectory)
227-
228-
- task: PowerShell@2
229-
displayName: 'Extract Archives'
230-
inputs:
231-
targetType: 'inline'
232-
script: |
233-
Expand-Archive -Path $(Build.BinariesDirectory)/win-x64/onnxruntime-win-x64-cuda*.zip -DestinationPath $(Build.BinariesDirectory)/win-x64
234-
Expand-Archive -Path $(Build.BinariesDirectory)/win-arm64/onnxruntime-win-arm64*.zip -DestinationPath $(Build.BinariesDirectory)/win-arm64
235-
$osx_arm64_archive = (Get-ChildItem -Path $(Build.BinariesDirectory)/osx-arm64 -Filter onnxruntime-osx-arm64*)[0].FullName
236-
tar -xzf $osx_arm64_archive -C $(Build.BinariesDirectory)/osx-arm64 2>$null
237-
$win_x64 = (Get-ChildItem -Path $(Build.BinariesDirectory)/win-x64 -Filter onnxruntime-win-x64-cuda*)[0].FullName
238-
$win_arm64 = (Get-ChildItem -Path $(Build.BinariesDirectory)/win-arm64 -Filter onnxruntime-win-arm64*)[0].FullName
239-
$osx_arm64 = (Get-ChildItem -Path $(Build.BinariesDirectory)/osx-arm64 -Filter onnxruntime-osx-arm64*)[0].FullName
240-
Write-Host "##vso[task.setvariable variable=win_x64;]$win_x64"
241-
Write-Host "##vso[task.setvariable variable=win_arm64;]$win_arm64"
242-
Write-Host "##vso[task.setvariable variable=osx_x64;]$osx_x64"
243-
Write-Host "##vso[task.setvariable variable=osx_arm64;]$osx_arm64"
244-
workingDirectory: $(Build.BinariesDirectory)
245-
246-
- task: PowerShell@2
247-
displayName: 'Get Package Name'
248-
inputs:
249-
targetType: 'inline'
250-
script: |
251-
if ($env:CustomPackageName) {
252-
Write-Host "##vso[task.setvariable variable=PackageName;]$env:CustomPackageName"
253-
Write-Host "PackageName: $env:CustomPackageName"
254-
} else {
255-
Write-Host "##vso[task.setvariable variable=PackageName;]${{ parameters.PackageName }}"
256-
Write-Host "PackageName: ${{ parameters.PackageName }}"
257-
}
258-
workingDirectory: $(Build.BinariesDirectory)
259-
260-
- task: PythonScript@0
261-
displayName: 'Generate Nuget Package'
262-
inputs:
263-
scriptPath: '$(Build.SourcesDirectory)/tools/nuget/generate_nuspec_for_custom_nuget.py'
264-
arguments: '--nuspec_path "$(Build.BinariesDirectory)/${{ parameters.PackageName }}.nuspec" --root_dir "$(Build.SourcesDirectory)" --commit_id "$(Build.SourceVersion)" --win_arm64 "$(win_arm64)" --win_x64 "$(win_x64)" --osx_arm64 "$(osx_arm64)" --osx_x64 "$(osx_x64)" --package_version "$(package_version)" --package_name "$(PackageName)"'
265-
266-
- task: NuGetCommand@2
267-
displayName: 'Pack Nuget Package'
268-
inputs:
269-
command: 'pack'
270-
packagesToPack: '$(Build.BinariesDirectory)/${{ parameters.PackageName }}.nuspec'
271-
packDestination: $(Build.ArtifactStagingDirectory)\
272-
273-
- template: templates/esrp_nuget.yml
274-
parameters:
275-
DisplayName: 'ESRP - sign NuGet package'
276-
FolderPath: '$(Build.ArtifactStagingDirectory)'
277-
DoEsrp: true
278-
279-
- task: 1ES.PublishPipelineArtifact@1
280-
displayName: 'Publish Artifact: Nuget'
281-
inputs:
282-
artifactName: '${{ parameters.PackageName }}'
283-
targetPath: '$(Build.ArtifactStagingDirectory)'
135+
- template: templates/foundry-local-nuget-packaging.yml
136+
parameters:
137+
IsReleaseBuild: ${{ parameters.IsReleaseBuild }}
138+
DependsOn: [Windows_Packaging_CUDA, Windows_Packaging_CPU_arm64, ManagedNugetPackaging, MacOS_C_API_Package_Publish]
139+
DoEsrp: true
140+
PackageName: 'Microsoft.ML.OnnxRuntime.Foundry'
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
parameters:
2+
DoEsrp: false
3+
StageName: 'FoundryLocalNugetPackaging'
4+
DependsOn: []
5+
PackageName: 'Microsoft.ML.OnnxRuntime.Foundry'
6+
7+
stages:
8+
- stage: ${{ parameters.StageName }}
9+
dependsOn: ${{ parameters.DependsOn }}
10+
jobs:
11+
- job: ${{ parameters.StageName }}
12+
timeoutInMinutes: 120
13+
pool:
14+
name: 'onnxruntime-Win2022-GPU-A10'
15+
os: windows
16+
templateContext:
17+
sdl:
18+
codeSignValidation:
19+
enabled: true
20+
break: true
21+
psscriptanalyzer:
22+
enabled: true
23+
binskim:
24+
enabled: true
25+
scanOutputDirectoryOnly: true
26+
outputs:
27+
- output: pipelineArtifact
28+
targetPath: $(Build.ArtifactStagingDirectory)
29+
artifactName: "onnxruntime-foundry-nuget"
30+
variables:
31+
DoEsrp: ${{ parameters.DoEsrp }}
32+
ReleaseVersionSuffix: $[stageDependencies.Setup.Set_Variables.outputs['Set_Release_Version_Suffix.ReleaseVersionSuffix']]
33+
BuildDate: $[stageDependencies.Setup.Set_Variables.outputs['Set_Build_Date.BuildDate']]
34+
BuildTime: $[stageDependencies.Setup.Set_Variables.outputs['Set_Build_Time.BuildTime']]
35+
36+
steps:
37+
- task: DownloadPipelineArtifact@0
38+
displayName: 'Download Pipeline Artifact - managed nuget'
39+
inputs:
40+
artifactName: 'onnxruntime-managed-nuget'
41+
targetPath: '$(Build.BinariesDirectory)/managed-nuget'
42+
43+
- task: DownloadPipelineArtifact@0
44+
displayName: 'Download Pipeline Artifact - win-x64'
45+
inputs:
46+
artifactName: 'onnxruntime-win-x64-cuda'
47+
targetPath: '$(Build.BinariesDirectory)/win-x64'
48+
49+
- task: DownloadPipelineArtifact@0
50+
displayName: 'Download Pipeline Artifact - win-arm64'
51+
inputs:
52+
artifactName: 'onnxruntime-win-arm64'
53+
targetPath: '$(Build.BinariesDirectory)/win-arm64'
54+
55+
- task: DownloadPipelineArtifact@0
56+
displayName: 'Download Pipeline Artifact - osx'
57+
inputs:
58+
artifactName: 'onnxruntime-osx'
59+
targetPath: '$(Build.BinariesDirectory)/osx'
60+
61+
- task: PowerShell@2
62+
displayName: 'Create osx directories'
63+
inputs:
64+
targetType: 'inline'
65+
script: |
66+
mkdir -p $(Build.BinariesDirectory)/osx-arm64
67+
Move-Item -Path $(Build.BinariesDirectory)/osx/onnxruntime-osx-arm64* -Destination $(Build.BinariesDirectory)/osx-arm64
68+
69+
- task: PowerShell@2
70+
displayName: 'List all files downloaded'
71+
inputs:
72+
targetType: 'inline'
73+
script: |
74+
$files = Get-ChildItem $(Build.BinariesDirectory) -Recurse
75+
foreach ($file in $files) {
76+
Write-Host "File: $($file.FullName)"
77+
if ($file -like "*onnxruntime*") {
78+
Write-Host "File onnxruntime: $($file.FullName) - Size: $($file.Length)"
79+
}
80+
}
81+
$dirs = Get-ChildItem $(Build.BinariesDirectory) -Directory
82+
foreach ($dir in $dirs) {
83+
Write-Host "Directory: $($dir.FullName)"
84+
}
85+
$osx_arm64_archive = Get-ChildItem -Path $(Build.BinariesDirectory)/osx-arm64 -Filter onnxruntime-osx-arm64*
86+
if ($osx_arm64_archive.Count -eq 0) {
87+
Write-Host "No osx-arm64 archive found."
88+
} else {
89+
Write-Host "osx-arm64 archive found: $($osx_arm64_archive[0].FullName)"
90+
}
91+
workingDirectory: $(Build.BinariesDirectory)
92+
93+
- task: PowerShell@2
94+
displayName: 'Extract Nuget Package Version'
95+
inputs:
96+
targetType: 'inline'
97+
script: |
98+
$nupkgs = (Get-ChildItem $(Build.BinariesDirectory)/managed-nuget -Filter Microsoft.ML.OnnxRuntime.Managed.*.nupkg -Recurse)
99+
$package_name = $nupkgs[0].Name
100+
$version_length = $package_name.Length - "Microsoft.ML.OnnxRuntime.Managed.".Length - ".nupkg".Length
101+
$package_version = $package_name.Substring("Microsoft.ML.OnnxRuntime.Managed.".Length, $version_length)
102+
Write-Host "##vso[task.setvariable variable=package_version;]$package_version"
103+
workingDirectory: $(Build.BinariesDirectory)
104+
105+
- task: PowerShell@2
106+
displayName: 'Extract Archives'
107+
inputs:
108+
targetType: 'inline'
109+
script: |
110+
Expand-Archive -Path $(Build.BinariesDirectory)/win-x64/onnxruntime-win-x64-cuda*.zip -DestinationPath $(Build.BinariesDirectory)/win-x64
111+
Expand-Archive -Path $(Build.BinariesDirectory)/win-arm64/onnxruntime-win-arm64*.zip -DestinationPath $(Build.BinariesDirectory)/win-arm64
112+
$osx_arm64_archive = (Get-ChildItem -Path $(Build.BinariesDirectory)/osx-arm64 -Filter onnxruntime-osx-arm64*)[0].FullName
113+
tar -xzf $osx_arm64_archive -C $(Build.BinariesDirectory)/osx-arm64 2>$null
114+
$win_x64 = (Get-ChildItem -Path $(Build.BinariesDirectory)/win-x64 -Filter onnxruntime-win-x64-cuda*)[0].FullName
115+
$win_arm64 = (Get-ChildItem -Path $(Build.BinariesDirectory)/win-arm64 -Filter onnxruntime-win-arm64*)[0].FullName
116+
$osx_arm64 = (Get-ChildItem -Path $(Build.BinariesDirectory)/osx-arm64 -Filter onnxruntime-osx-arm64*)[0].FullName
117+
Write-Host "##vso[task.setvariable variable=win_x64;]$win_x64"
118+
Write-Host "##vso[task.setvariable variable=win_arm64;]$win_arm64"
119+
Write-Host "##vso[task.setvariable variable=osx_x64;]$osx_x64"
120+
Write-Host "##vso[task.setvariable variable=osx_arm64;]$osx_arm64"
121+
workingDirectory: $(Build.BinariesDirectory)
122+
123+
- task: PythonScript@0
124+
displayName: 'Generate Nuget Package'
125+
inputs:
126+
scriptPath: '$(Build.SourcesDirectory)/tools/nuget/generate_nuspec_for_custom_nuget.py'
127+
arguments: '--nuspec_path "$(Build.BinariesDirectory)/${{ parameters.PackageName }}.nuspec" --root_dir "$(Build.SourcesDirectory)" --commit_id "$(Build.SourceVersion)" --win_arm64 "$(win_arm64)" --win_x64 "$(win_x64)" --osx_arm64 "$(osx_arm64)" --osx_x64 "$(osx_x64)" --package_version "$(package_version)" --package_name "${{ parameters.PackageName }}"'
128+
129+
- task: NuGetCommand@2
130+
displayName: 'Pack Nuget Package'
131+
inputs:
132+
command: 'pack'
133+
packagesToPack: '$(Build.BinariesDirectory)/${{ parameters.PackageName }}.nuspec'
134+
packDestination: $(Build.ArtifactStagingDirectory)\
135+
136+
- template: templates/esrp_nuget.yml
137+
parameters:
138+
DisplayName: 'ESRP - sign NuGet package'
139+
FolderPath: '$(Build.ArtifactStagingDirectory)'
140+
DoEsrp: true

0 commit comments

Comments
 (0)