Skip to content

Commit 8f7cce3

Browse files
authored
Fix Windows_CI_GPU_DML_Dev_x86 and Windows_CI_GPU_DML_Dev_arm64 pipeline steps (#24365)
Investigating [this failure](https://aiinfra.visualstudio.com/Lotus/_build/results?buildId=744027&view=logs&j=e0aa037a-ca0a-529d-6a03-a5c9d149fe1a&t=2eb2c023-a94a-592e-a1f1-54add6f4a3b2&l=69) and [this failure](https://aiinfra.visualstudio.com/Lotus/_build/results?buildId=744027&view=logs&j=54944931-7164-5479-7b9e-b791f07d59dd&t=01ecb114-a484-5e44-2bca-f46cc3296044&l=69) we observed that there are 2 packages created in these steps when doing a release build: - `Microsoft.ML.OnnxRuntime.DirectML.1.21.1-dev-20250408-0849-84808eb710.nupkg` - `Microsoft.ML.OnnxRuntime.DirectML.1.21.1.nupkg` The problem with this is that the following [rename](https://github.com/microsoft/onnxruntime/blob/84808eb7102ecb6133b88b7cf35b1ec9b0feadd2/tools/ci_build/github/azure-pipelines/c-api-noopenmp-packaging-pipelines.yml#L172C6-L172C61) command fails with the error above because it matches multiple files: `ren Microsoft.ML.OnnxRuntime.DirectML.* win-dml-x86.zip` Validated that the changes in this PR passed in https://aiinfra.visualstudio.com/Lotus/_build/results?buildId=754225&view=results
1 parent 0e4dd5c commit 8f7cce3

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
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
@@ -147,8 +147,8 @@ stages:
147147
DoEsrp: ${{ parameters.DoEsrp }}
148148
NuPackScript: |
149149
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)
150-
copy $(Build.SourcesDirectory)\csharp\src\Microsoft.ML.OnnxRuntime\bin\RelWithDebInfo\*.nupkg $(Build.ArtifactStagingDirectory)
151-
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\*.nupkg $(Build.ArtifactStagingDirectory)
150+
copy $(Build.SourcesDirectory)\csharp\src\Microsoft.ML.OnnxRuntime\bin\RelWithDebInfo\Microsoft.ML.OnnxRuntime.DirectML.1.21.1.nupkg $(Build.ArtifactStagingDirectory)
151+
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\Microsoft.ML.OnnxRuntime.DirectML.1.21.1.nupkg $(Build.ArtifactStagingDirectory)
152152
mkdir $(Build.ArtifactStagingDirectory)\testdata
153153
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\custom_op_library.* $(Build.ArtifactStagingDirectory)\testdata
154154
@@ -169,7 +169,7 @@ stages:
169169
NuPackScript: |
170170
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 }}
171171
cd $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\
172-
ren Microsoft.ML.OnnxRuntime.DirectML.* win-dml-x86.zip
172+
ren Microsoft.ML.OnnxRuntime.DirectML.1.21.1.nupkg win-dml-x86.zip
173173
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\win-dml-x86.zip $(Build.ArtifactStagingDirectory)
174174
mkdir $(Build.ArtifactStagingDirectory)\testdata
175175
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\custom_op_library.* $(Build.ArtifactStagingDirectory)\testdata
@@ -191,7 +191,7 @@ stages:
191191
NuPackScript: |
192192
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 }}
193193
cd $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\
194-
ren Microsoft.ML.OnnxRuntime.DirectML.* win-dml-arm64.zip
194+
ren Microsoft.ML.OnnxRuntime.DirectML.1.21.1.nupkg win-dml-arm64.zip
195195
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\win-dml-arm64.zip $(Build.ArtifactStagingDirectory)
196196
mkdir $(Build.ArtifactStagingDirectory)\testdata
197197
copy $(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo\custom_op_library.* $(Build.ArtifactStagingDirectory)\testdata
@@ -280,6 +280,7 @@ stages:
280280
PackageName: 'Microsoft.ML.OnnxRuntime.DirectML*nupkg'
281281
PlatformsSupported: 'win-x64,win-x86,win-arm64'
282282
VerifyNugetSigning: ${{ parameters.DoEsrp }}
283+
IsReleaseBuild: ${{ parameters.IsReleaseBuild }}
283284

284285
- task: PublishPipelineArtifact@0
285286
displayName: 'Publish Pipeline NuGet Artifact'

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: 12 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,14 @@ 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+
]
299+
289300
if len(nuget_packages_found_in_path) != 1:
290301
print("Nuget packages found in path: ")
291302
print(nuget_packages_found_in_path)

0 commit comments

Comments
 (0)