Skip to content

Commit 234cc63

Browse files
authored
Improve packaging pipelines RC version support (microsoft#25938)
The "custom nuget pipeline" and QNN Nuget pipeline do not support adding "rc" postfix to the nuget package's version string. This PR fixes that.
1 parent 4783e0a commit 234cc63

File tree

4 files changed

+63
-4
lines changed

4 files changed

+63
-4
lines changed

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,21 @@ parameters:
1313
type: boolean
1414
default: false
1515

16+
- name: PreReleaseVersionSuffixString
17+
displayName: Suffix added to pre-release package version. Only used if IsReleaseBuild is true. Denotes the type of pre-release package.
18+
type: string
19+
values:
20+
- alpha
21+
- beta
22+
- rc
23+
- none
24+
default: none
25+
26+
- name: PreReleaseVersionSuffixNumber
27+
displayName: Number added to pre-release package version. Only used if IsReleaseBuild is true. Denotes the sequence of a pre-release package.
28+
type: number
29+
default: 0
30+
1631
- name: PackageName
1732
displayName: What is the package name? Override using an environment variable CustomPackageName.
1833
type: string
@@ -69,6 +84,12 @@ extends:
6984
exclusionsFile: '$(Build.SourcesDirectory)\tools\ci_build\policheck_exclusions.xml'
7085

7186
stages:
87+
- template: stages/set_packaging_variables_stage.yml
88+
parameters:
89+
IsReleaseBuild: ${{ parameters.IsReleaseBuild }}
90+
PreReleaseVersionSuffixString: ${{ parameters.PreReleaseVersionSuffixString }}
91+
PreReleaseVersionSuffixNumber: ${{ parameters.PreReleaseVersionSuffixNumber }}
92+
7293
- template: templates/win-ci.yml
7394
parameters:
7495
ort_build_pool_name: 'onnxruntime-Win2022-GPU-A10'

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,22 @@ parameters:
1414
type: boolean
1515
default: false
1616

17+
18+
- name: PreReleaseVersionSuffixString
19+
displayName: Suffix added to pre-release package version. Only used if IsReleaseBuild is true. Denotes the type of pre-release package.
20+
type: string
21+
values:
22+
- alpha
23+
- beta
24+
- rc
25+
- none
26+
default: none
27+
28+
- name: PreReleaseVersionSuffixNumber
29+
displayName: Number added to pre-release package version. Only used if IsReleaseBuild is true. Denotes the sequence of a pre-release package.
30+
type: number
31+
default: 0
32+
1733
- name: DoEsrp
1834
displayName: Run code sign tasks? Must be true if you are doing an Onnx Runtime release.
1935
type: boolean
@@ -68,6 +84,11 @@ extends:
6884
enabled: true
6985
exclusionsFile: '$(Build.SourcesDirectory)\tools\ci_build\policheck_exclusions.xml'
7086
stages:
87+
- template: stages/set_packaging_variables_stage.yml
88+
parameters:
89+
IsReleaseBuild: ${{ parameters.IsReleaseBuild }}
90+
PreReleaseVersionSuffixString: ${{ parameters.PreReleaseVersionSuffixString }}
91+
PreReleaseVersionSuffixNumber: ${{ parameters.PreReleaseVersionSuffixNumber }}
7192

7293
- template: templates/qnn-ep-win.yml
7394
parameters:

tools/ci_build/github/azure-pipelines/templates/qnn-ep-win.yml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ parameters:
1111

1212
stages:
1313
- stage: ${{ parameters.StageName }}
14-
dependsOn: []
14+
dependsOn:
15+
- Setup
1516
jobs:
1617
- job: ${{ parameters.StageName }}
1718
timeoutInMinutes: 300
@@ -45,6 +46,7 @@ stages:
4546
artifactName: "drop-signed-nuget-qnn"
4647
variables:
4748
OrtPackageId: ${{ parameters.OrtNugetPackageId }}
49+
ReleaseVersionSuffix: $[stageDependencies.Setup.Set_Variables.outputs['Set_Release_Version_Suffix.ReleaseVersionSuffix']]
4850
commonBuildArgs: '--skip_submodule_sync --build_shared_lib --client_package_build --cmake_generator "Visual Studio 17 2022" --config ${{ parameters.build_config }} --parallel --use_vcpkg --use_vcpkg_ms_internal_asset_cache --use_binskim_compliant_compile_flags '
4951

5052
steps:
@@ -107,7 +109,12 @@ stages:
107109
solution: '$(Build.SourcesDirectory)\csharp\OnnxRuntime.DesktopOnly.CSharp.sln'
108110
platform: 'Any CPU'
109111
configuration: ${{ parameters.build_config }}
110-
msbuildArguments: '-p:OnnxRuntimeBuildDirectory="$(Build.BinariesDirectory)" -p:OrtPackageId=$(OrtPackageId) -p:IsReleaseBuild=${{ parameters.IsReleaseBuild }}'
112+
msbuildArguments: >
113+
-p:OnnxRuntimeBuildDirectory="$(Build.BinariesDirectory)"
114+
-p:OrtPackageId=$(OrtPackageId)
115+
-p:IsReleaseBuild=${{ parameters.IsReleaseBuild }}
116+
-p:ReleaseVersionSuffix=$(ReleaseVersionSuffix)
117+
-p:PackageVersion=$(OnnxRuntimeVersion)
111118
workingDirectory: '$(Build.SourcesDirectory)\csharp'
112119

113120
- ${{ if eq(parameters.DoEsrp, true) }}:
@@ -123,7 +130,7 @@ stages:
123130
solution: '$(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.proj'
124131
platform: 'Any CPU'
125132
configuration: ${{ parameters.build_config }}
126-
msbuildArguments: '-t:CreatePackage -p:OnnxRuntimeBuildDirectory="$(Build.BinariesDirectory)" -p:OrtPackageId=$(OrtPackageId) -p:IsReleaseBuild=${{ parameters.IsReleaseBuild }} -p:TargetArchitecture=arm64'
133+
msbuildArguments: '-t:CreatePackage -p:OnnxRuntimeBuildDirectory="$(Build.BinariesDirectory)" -p:OrtPackageId=$(OrtPackageId) -p:IsReleaseBuild=${{ parameters.IsReleaseBuild }} -p:ReleaseVersionSuffix=$(ReleaseVersionSuffix) -p:TargetArchitecture=arm64'
127134
workingDirectory: '$(Build.SourcesDirectory)\csharp'
128135

129136
- task: CopyFiles@2

tools/python/run_packaging_pipelines.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,9 @@ def filter_pipelines(pipelines: list[dict], token: str, branch: str, is_pr_build
277277
if result:
278278
filtered_results.append(result)
279279

280-
print(f"\nFound {len(filtered_results)} pipelines to trigger.")
280+
print(f"\nFound {len(filtered_results)} pipelines to trigger:")
281+
for result in filtered_results:
282+
print(f" - {result['pipeline']['name']}")
281283
return filtered_results
282284

283285

@@ -453,6 +455,14 @@ def main():
453455
nightly_override = "0"
454456
release_override = "true"
455457

458+
# If pre-release flags are used, it implies a release build.
459+
if args.pre_release_suffix_string:
460+
print("Pre-release suffix provided. Forcing 'release' build mode.")
461+
if args.build_mode and args.build_mode != "release":
462+
print(f"Warning: --build-mode={args.build_mode} is overridden by pre-release flags.")
463+
nightly_override = "0"
464+
release_override = "true"
465+
456466
for result in pipelines_to_trigger:
457467
pipeline = result["pipeline"]
458468
packaging_type = result["packaging_type"]

0 commit comments

Comments
 (0)