Skip to content

Commit f217402

Browse files
vrasparamarin16
andauthored
Cherry pick fix for NuGet DML Release package Issue (#24696)
Fix pipeline rename conflict to create NuGet release package --------- Co-authored-by: Alex Marin <emarin@microsoft.com>
1 parent 6c8097a commit f217402

File tree

4 files changed

+29
-13
lines changed

4 files changed

+29
-13
lines changed

tools/ci_build/github/azure-pipelines/c-api-noopenmp-packaging-pipelines.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,8 @@ extends:
189189
DoEsrp: ${{ parameters.DoEsrp }}
190190
NuPackScript: |
191191
msbuild $(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.proj /p:Configuration=RelWithDebInfo /t:CreatePackage /p:OrtPackageId=Microsoft.ML.OnnxRuntime.DirectML /p:IsReleaseBuild=${{ parameters.IsReleaseBuild }} /p:CurrentData=$(BuildDate) /p:CurrentTime=$(BuildTime)
192-
copy $(Build.SourcesDirectory)\csharp\src\Microsoft.ML.OnnxRuntime\bin\RelWithDebInfo\*.nupkg $(Build.ArtifactStagingDirectory)
193-
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\*.nupkg $(Build.ArtifactStagingDirectory)
192+
copy $(Build.SourcesDirectory)\csharp\src\Microsoft.ML.OnnxRuntime\bin\RelWithDebInfo\Microsoft.ML.OnnxRuntime.DirectML.1.22.0.nupkg $(Build.ArtifactStagingDirectory)
193+
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\Microsoft.ML.OnnxRuntime.DirectML.1.22.0.nupkg $(Build.ArtifactStagingDirectory)
194194
mkdir $(Build.ArtifactStagingDirectory)\testdata
195195
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\custom_op_library.* $(Build.ArtifactStagingDirectory)\testdata
196196
@@ -210,7 +210,7 @@ extends:
210210
NuPackScript: |
211211
msbuild $(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.proj /p:Configuration=RelWithDebInfo /p:TargetArchitecture=x86 /t:CreatePackage /p:OrtPackageId=Microsoft.ML.OnnxRuntime.DirectML /p:IsReleaseBuild=${{ parameters.IsReleaseBuild }}
212212
cd $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\
213-
ren Microsoft.ML.OnnxRuntime.DirectML.* win-dml-x86.zip
213+
ren Microsoft.ML.OnnxRuntime.DirectML.1.22.0.nupkg win-dml-x86.zip
214214
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\win-dml-x86.zip $(Build.ArtifactStagingDirectory)
215215
mkdir $(Build.ArtifactStagingDirectory)\testdata
216216
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\custom_op_library.* $(Build.ArtifactStagingDirectory)\testdata
@@ -231,7 +231,7 @@ extends:
231231
NuPackScript: |
232232
msbuild $(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.proj /p:Configuration=RelWithDebInfo /p:TargetArchitecture=arm64 /t:CreatePackage /p:OrtPackageId=Microsoft.ML.OnnxRuntime.DirectML /p:IsReleaseBuild=${{ parameters.IsReleaseBuild }}
233233
cd $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\
234-
ren Microsoft.ML.OnnxRuntime.DirectML.* win-dml-arm64.zip
234+
ren Microsoft.ML.OnnxRuntime.DirectML.1.22.0.nupkg win-dml-arm64.zip
235235
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\win-dml-arm64.zip $(Build.ArtifactStagingDirectory)
236236
mkdir $(Build.ArtifactStagingDirectory)\testdata
237237
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\custom_op_library.* $(Build.ArtifactStagingDirectory)\testdata
@@ -241,3 +241,4 @@ extends:
241241
- template: stages/nuget_dml_packaging_stage.yml
242242
parameters:
243243
DoEsrp: ${{ parameters.DoEsrp }}
244+
IsReleaseBuild: ${{ parameters.IsReleaseBuild }}

tools/ci_build/github/azure-pipelines/stages/nuget_dml_packaging_stage.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ parameters:
22
- name: DoEsrp
33
type: boolean
44
default: true
5+
- name: IsReleaseBuild
6+
type: boolean
7+
default: false
58

69
stages:
710
- stage: NuGet_Packaging_DML
@@ -47,26 +50,26 @@ stages:
4750
rename %%~ni.nupkg %%~ni.zip
4851
unzip %%~ni.zip -d %%~ni
4952
del /Q %%~ni.zip
50-
53+
5154
unzip win-dml-x86.zip -d win-x86
5255
mkdir %%~ni\runtimes\win-x86
5356
mkdir %%~ni\runtimes\win-x86\native
54-
57+
5558
move win-x86\runtimes\win-x86\native\onnxruntime.dll %%~ni\runtimes\win-x86\native\onnxruntime.dll
5659
move win-x86\runtimes\win-x86\native\onnxruntime.lib %%~ni\runtimes\win-x86\native\onnxruntime.lib
5760
move win-x86\runtimes\win-x86\native\onnxruntime.pdb %%~ni\runtimes\win-x86\native\onnxruntime.pdb
5861
move win-x86\runtimes\win-x86\native\onnxruntime_providers_shared.dll %%~ni\runtimes\win-x86\native\onnxruntime_providers_shared.dll
59-
62+
6063
unzip win-dml-arm64.zip -d win-arm64
6164
mkdir %%~ni\runtimes\win-arm64
6265
mkdir %%~ni\runtimes\win-arm64\native
63-
66+
6467
move win-arm64\runtimes\win-arm64\native\onnxruntime.dll %%~ni\runtimes\win-arm64\native\onnxruntime.dll
6568
move win-arm64\runtimes\win-arm64\native\onnxruntime.lib %%~ni\runtimes\win-arm64\native\onnxruntime.lib
6669
move win-arm64\runtimes\win-arm64\native\onnxruntime.pdb %%~ni\runtimes\win-arm64\native\onnxruntime.pdb
6770
move win-arm64\runtimes\win-arm64\native\onnxruntime_providers_shared.dll %%~ni\runtimes\win-arm64\native\onnxruntime_providers_shared.dll
68-
69-
71+
72+
7073
pushd %%~ni
7174
zip -r ..\%%~ni.zip .
7275
popd
@@ -90,9 +93,10 @@ stages:
9093
PackageName: 'Microsoft.ML.OnnxRuntime.DirectML*nupkg'
9194
PlatformsSupported: 'win-x64,win-x86,win-arm64'
9295
VerifyNugetSigning: ${{ parameters.DoEsrp }}
96+
IsReleaseBuild: ${{ parameters.IsReleaseBuild }}
9397

9498
- task: 1ES.PublishPipelineArtifact@1
9599
displayName: 'Publish Pipeline NuGet Artifact'
96100
inputs:
97101
artifactName: 'drop-signed-nuget-dml'
98-
targetPath: '$(Build.ArtifactStagingDirectory)'
102+
targetPath: '$(Build.ArtifactStagingDirectory)'

tools/ci_build/github/azure-pipelines/templates/validate-package.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ parameters:
44
PackageType: ''
55
PackageName: ''
66
PackagePath: ''
7+
IsReleaseBuild: false
78
ScriptPath: '$(Build.SourcesDirectory)/tools/nuget/validate_package.py'
89
workingDirectory: "$(Build.BinariesDirectory)"
910

@@ -17,5 +18,5 @@ steps:
1718
displayName: 'Validate Package'
1819
inputs:
1920
scriptPath: '${{parameters.ScriptPath}}'
20-
arguments: '--package_type ${{parameters.PackageType}} --package_name ${{parameters.PackageName}} --package_path ${{parameters.PackagePath}} --platforms_supported ${{parameters.PlatformsSupported}} --verify_nuget_signing ${{parameters.VerifyNugetSigning}}'
21+
arguments: '--package_type ${{parameters.PackageType}} --package_name ${{parameters.PackageName}} --package_path ${{parameters.PackagePath}} --platforms_supported ${{parameters.PlatformsSupported}} --verify_nuget_signing ${{parameters.VerifyNugetSigning}} --is_release_build ${{parameters.IsReleaseBuild}}'
2122
workingDirectory: ${{parameters.workingDirectory}}

tools/nuget/validate_package.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ def parse_arguments():
6767
"--verify_nuget_signing",
6868
help="Flag indicating if Nuget package signing is to be verified. Only accepts 'true' or 'false'",
6969
)
70+
parser.add_argument(
71+
"--is_release_build",
72+
help="Flag indicating if the script it should validate a release build or a dev one. Only accepts 'true' or 'false'",
73+
)
7074

7175
return parser.parse_args()
7276

@@ -285,7 +289,13 @@ def validate_zip(args):
285289

286290
def validate_nuget(args):
287291
files = glob.glob(os.path.join(args.package_path, args.package_name))
288-
nuget_packages_found_in_path = [i for i in files if i.endswith(".nupkg") and "Managed" not in i]
292+
nuget_packages_found_in_path = [
293+
i
294+
for i in files
295+
if i.endswith(".nupkg")
296+
and "Managed" not in i
297+
and ((args.is_release_build and "-dev" not in i) or (not args.is_release_build and "-dev" in i))
298+
]
289299
if len(nuget_packages_found_in_path) != 1:
290300
print("Nuget packages found in path: ")
291301
print(nuget_packages_found_in_path)

0 commit comments

Comments
 (0)