From abb684873e43439f86abfe1ab210a17fe8227f6b Mon Sep 17 00:00:00 2001 From: Jian Chen Date: Thu, 6 Feb 2025 18:56:10 -0800 Subject: [PATCH] undo Binary c-api-cpu.yml 1.25 --- .../azure-pipelines/templates/c-api-cpu.yml | 618 +++++++++--------- 1 file changed, 309 insertions(+), 309 deletions(-) diff --git a/tools/ci_build/github/azure-pipelines/templates/c-api-cpu.yml b/tools/ci_build/github/azure-pipelines/templates/c-api-cpu.yml index 31ac8526b9..88f9227220 100644 --- a/tools/ci_build/github/azure-pipelines/templates/c-api-cpu.yml +++ b/tools/ci_build/github/azure-pipelines/templates/c-api-cpu.yml @@ -200,315 +200,315 @@ stages: buildJava: true buildNodejs: true -#- stage: Jar_Packaging -# dependsOn: -# - Linux_C_API_Packaging_CPU -# - MacOS_C_API_Package_Publish -# - Windows_Packaging_CPU_x64_${{ parameters.BuildVariant }} -# - Download_Java_Tools -# condition: succeeded() -# jobs: -# - job: Jar_Packaging -# workspace: -# clean: all -# pool: 'onnxruntime-Win-CPU-2022' -# -# steps: -# - checkout: self -# submodules: false -# - template: set-version-number-variables-step.yml -# -# - template: flex-downloadPipelineArtifact.yml -# parameters: -# StepName: 'Download Pipeline Artifact - Win x64' -# ArtifactName: 'drop-onnxruntime-java-win-x64' -# TargetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-win-x64' -# SpecificArtifact: ${{ parameters.SpecificArtifact }} -# BuildId: ${{ parameters.BuildId }} -# -# - template: flex-downloadPipelineArtifact.yml -# parameters: -# StepName: 'Download Pipeline Artifact - Linux x64' -# ArtifactName: 'drop-onnxruntime-java-linux-x64' -# TargetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-linux-x64' -# SpecificArtifact: ${{ parameters.SpecificArtifact }} -# BuildId: ${{ parameters.BuildId }} -# -# - template: flex-downloadPipelineArtifact.yml -# parameters: -# StepName: 'Download Pipeline Artifact - Linux AARCH64' -# ArtifactName: 'drop-onnxruntime-java-linux-aarch64' -# TargetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-linux-aarch64' -# SpecificArtifact: ${{ parameters.SpecificArtifact }} -# BuildId: ${{ parameters.BuildId }} -# -# - template: flex-downloadPipelineArtifact.yml -# parameters: -# StepName: 'Download Pipeline Artifact - MacOS x64' -# ArtifactName: 'drop-onnxruntime-java-osx-x86_64' -# TargetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-osx-x86_64' -# SpecificArtifact: ${{ parameters.SpecificArtifact }} -# BuildId: ${{ parameters.BuildId }} -# -# - template: flex-downloadPipelineArtifact.yml -# parameters: -# StepName: 'Download Pipeline Artifact - MacOS ARM64' -# ArtifactName: 'drop-onnxruntime-java-osx-arm64' -# TargetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-osx-arm64' -# SpecificArtifact: ${{ parameters.SpecificArtifact }} -# BuildId: ${{ parameters.BuildId }} -# -# - task: PowerShell@2 -# displayName: 'PowerShell Script' -# inputs: -# targetType: filePath -# filePath: $(Build.SourcesDirectory)\tools\ci_build\github\windows\jar_packaging.ps1 -# failOnStderr: true -# showWarnings: true -# workingDirectory: '$(Build.BinariesDirectory)\java-artifact' -# -# - template: jar-esrp-dll.yml -# parameters: -# JarFileDirectory: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-win-x64' -# JarFileName: 'onnxruntime-$(OnnxRuntimeVersion).jar' -# -# - template: jar-maven-signing-win.yml -# parameters: -# JarFileDirectory: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-win-x64' -# -# - task: CopyFiles@2 -# displayName: 'Copy Java Files to Artifact Staging Directory' -# inputs: -# SourceFolder: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-win-x64' -# TargetFolder: '$(Build.ArtifactStagingDirectory)' -# -# - task: 1ES.PublishPipelineArtifact@1 -# displayName: 'Publish Pipeline Artifact' -# inputs: -# path: '$(Build.ArtifactStagingDirectory)' -# artifact: 'onnxruntime-java' -# -# - template: component-governance-component-detection-steps.yml -# parameters : -# condition : 'succeeded' -# -#- stage: NuGet_Packaging_CPU -# dependsOn: -# - Setup -# - Linux_C_API_Packaging_CPU -# - MacOS_C_API_Package_Publish -# - Windows_Packaging_CPU_x86_${{ parameters.BuildVariant }} -# - Windows_Packaging_CPU_x64_${{ parameters.BuildVariant }} -# - Windows_Packaging_CPU_arm64_${{ parameters.BuildVariant }} -# - Android_Java_API_AAR_Packaging_Full -# - iOS_Full_xcframework -# condition: succeeded() -# jobs: -# - job: NuGet_Packaging_CPU -# workspace: -# clean: all -# pool: 'onnxruntime-Win-CPU-2022' -# variables: -# OrtPackageId: ${{ parameters.OrtNugetPackageId }} -# breakCodesignValidationInjection: ${{ parameters.DoEsrp }} -# ReleaseVersionSuffix: $[stageDependencies.Setup.Set_Variables.outputs['Set_Release_Version_Suffix.ReleaseVersionSuffix']] -# BuildDate : $[stageDependencies.Setup.Set_Variables.outputs['Set_Build_Date.BuildDate']] -# BuildTime : $[stageDependencies.Setup.Set_Variables.outputs['Set_Build_Time.BuildTime']] -# -# steps: -# - checkout: self -# submodules: true -# -# - template: flex-downloadPipelineArtifact.yml -# parameters: -# StepName: 'Download Pipeline Artifact - Win x64' -# ArtifactName: 'onnxruntime-win-x64' -# TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' -# SpecificArtifact: ${{ parameters.specificArtifact }} -# BuildId: ${{ parameters.BuildId }} -# -# - template: flex-downloadPipelineArtifact.yml -# parameters: -# StepName: 'Download win-x86 Pipeline Artifact' -# ArtifactName: 'onnxruntime-win-x86' -# TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' -# SpecificArtifact: ${{ parameters.specificArtifact }} -# BuildId: ${{ parameters.BuildId }} -# -# - template: flex-downloadPipelineArtifact.yml -# parameters: -# StepName: 'Download win-arm64 Pipeline Artifact' -# ArtifactName: 'onnxruntime-win-arm64' -# TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' -# SpecificArtifact: ${{ parameters.specificArtifact }} -# BuildId: ${{ parameters.BuildId }} -# -# - template: flex-downloadPipelineArtifact.yml -# parameters: -# StepName: 'Download osx-x64 Pipeline Artifact' -# ArtifactName: 'onnxruntime-osx' -# TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' -# SpecificArtifact: ${{ parameters.specificArtifact }} -# BuildId: ${{ parameters.BuildId }} -# -# - template: flex-downloadPipelineArtifact.yml -# parameters: -# StepName: 'Download linux-x64 Pipeline Artifact' -# ArtifactName: 'onnxruntime-linux-x64' -# TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' -# SpecificArtifact: ${{ parameters.specificArtifact }} -# BuildId: ${{ parameters.BuildId }} -# -# - template: flex-downloadPipelineArtifact.yml -# parameters: -# StepName: 'Download linux-aarch64 Pipeline Artifact' -# ArtifactName: 'onnxruntime-linux-aarch64' -# TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' -# SpecificArtifact: ${{ parameters.specificArtifact }} -# BuildId: ${{ parameters.BuildId }} -# -# - template: flex-downloadPipelineArtifact.yml -# parameters: -# StepName: 'Download iOS Pipeline Artifact' -# ArtifactName: 'onnxruntime-ios-full-xcframework' -# TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' -# SpecificArtifact: ${{ parameters.specificArtifact }} -# BuildId: ${{ parameters.BuildId }} -# -# - template: flex-downloadPipelineArtifact.yml -# parameters: -# StepName: 'Download Android-full-aar Pipeline Artifact' -# ArtifactName: 'onnxruntime-android-full-aar' -# TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' -# SpecificArtifact: ${{ parameters.specificArtifact }} -# BuildId: ${{ parameters.BuildId }} -# -# - script: | -# dir -# workingDirectory: '$(Build.BinariesDirectory)/nuget-artifact' -# displayName: 'List artifacts' -# -# - template: set-version-number-variables-step.yml -# -# # Reconstruct the build dir -# - task: PowerShell@2 -# displayName: 'Extract native libraries for addition to nuget native package' -# inputs: -# targetType: filePath -# filePath: $(Build.SourcesDirectory)\tools\ci_build\github\windows\extract_nuget_files.ps1 -# -# - script: | -# mklink /D /J models C:\local\models -# workingDirectory: '$(Build.BinariesDirectory)' -# displayName: 'Create models link' -# - task: NuGetToolInstaller@0 -# displayName: Use Nuget 6.10.x -# inputs: -# versionSpec: 6.10.x -# -# - task: PowerShell@2 -# displayName: Install mobile workloads -# inputs: -# targetType: 'inline' -# script: | -# dotnet workload install android ios maccatalyst -# workingDirectory: '$(Build.SourcesDirectory)\csharp' -# -# - task: MSBuild@1 -# displayName: 'Restore NuGet Packages and create project.assets.json' -# inputs: -# solution: '$(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.sln' -# platform: 'Any CPU' -# configuration: RelWithDebInfo -# msbuildArguments: '-t:restore -p:OrtPackageId=$(OrtPackageId)' -# workingDirectory: '$(Build.SourcesDirectory)\csharp' -# -# - task: MSBuild@1 -# displayName: 'Build C# bindings' -# inputs: -# solution: '$(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.sln' -# platform: 'Any CPU' -# configuration: RelWithDebInfo -# msbuildArguments: '-p:OnnxRuntimeBuildDirectory="$(Build.BinariesDirectory)" -p:OrtPackageId=$(OrtPackageId) -p:IsReleaseBuild=${{ parameters.IsReleaseBuild }} -p:ReleaseVersionSuffix=$(ReleaseVersionSuffix) -p:PackageVersion=$(OnnxRuntimeVersion)' -# workingDirectory: '$(Build.SourcesDirectory)\csharp' -# -# - ${{ if eq(parameters.DoEsrp, true) }}: -# - template: win-esrp-dll.yml -# parameters: -# FolderPath: '$(Build.SourcesDirectory)\csharp\src\Microsoft.ML.OnnxRuntime\bin\RelWithDebInfo' -# DisplayName: 'ESRP - Sign C# dlls' -# DoEsrp: ${{ parameters.DoEsrp }} -# -# - task: UsePythonVersion@0 -# displayName: 'Use Python' -# inputs: -# versionSpec: 3.12 -# -# - task: MSBuild@1 -# displayName: 'Build Nuget Packages' -# inputs: -# solution: '$(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.proj' -# platform: 'Any CPU' -# configuration: RelWithDebInfo -# msbuildArguments: '-t:CreatePackage -p:OnnxRuntimeBuildDirectory="$(Build.BinariesDirectory)" -p:OrtPackageId=$(OrtPackageId) -p:IsReleaseBuild=${{ parameters.IsReleaseBuild }} -p:ReleaseVersionSuffix=$(ReleaseVersionSuffix) -p:CurrentTime=$(BuildTime) -p:CurrentDate=$(BuildDate)' -# workingDirectory: '$(Build.SourcesDirectory)\csharp' -# -# - task: CopyFiles@2 -# displayName: 'Copy native nuget package to: $(Build.ArtifactStagingDirectory)' -# inputs: -# SourceFolder: '$(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo' -# Contents: '*.nupkg' -# TargetFolder: '$(Build.ArtifactStagingDirectory)' -# -# - task: CopyFiles@2 -# displayName: 'Copy native nuget symbols package to: $(Build.ArtifactStagingDirectory)' -# inputs: -# SourceFolder: '$(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo' -# Contents: '*.snupkg' -# TargetFolder: '$(Build.ArtifactStagingDirectory)' -# -# - task: CopyFiles@2 -# displayName: 'Copy managed nuget package to: $(Build.ArtifactStagingDirectory)' -# inputs: -# SourceFolder: '$(Build.SourcesDirectory)\csharp\src\Microsoft.ML.OnnxRuntime\bin\RelWithDebInfo' -# Contents: '*.nupkg' -# TargetFolder: '$(Build.ArtifactStagingDirectory)' -# -# - template: esrp_nuget.yml -# parameters: -# DisplayName: 'ESRP - sign NuGet package' -# FolderPath: '$(Build.ArtifactStagingDirectory)' -# DoEsrp: ${{ parameters.DoEsrp }} -# -# - template: validate-package.yml -# parameters: -# PackageType: 'nuget' -# PackagePath: '$(Build.ArtifactStagingDirectory)' -# PackageName: 'Microsoft.ML.OnnxRuntime.*nupkg' -# PlatformsSupported: 'win-x64,win-x86,linux-x64,linux-arm64,osx-x64' -# VerifyNugetSigning: false -# -# - task: 1ES.PublishPipelineArtifact@0 -# displayName: 'Publish Pipeline NuGet Artifact' -# inputs: -# path: '$(Build.ArtifactStagingDirectory)' -# artifact: 'drop-signed-nuget-CPU' -# -# -# -# - task: MSBuild@1 -# displayName: 'Clean C#' -# inputs: -# solution: '$(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.sln' -# platform: 'Any CPU' -# configuration: RelWithDebInfo -# msbuildArguments: '-t:Clean -p:OnnxRuntimeBuildDirectory="$(Build.BinariesDirectory)" -p:OrtPackageId=$(OrtPackageId)' -# workingDirectory: '$(Build.SourcesDirectory)\csharp' -# -# - template: component-governance-component-detection-steps.yml -# parameters : -# condition : 'succeeded' -# +- stage: Jar_Packaging + dependsOn: + - Linux_C_API_Packaging_CPU + - MacOS_C_API_Package_Publish + - Windows_Packaging_CPU_x64_${{ parameters.BuildVariant }} + - Download_Java_Tools + condition: succeeded() + jobs: + - job: Jar_Packaging + workspace: + clean: all + pool: 'onnxruntime-Win-CPU-2022' + + steps: + - checkout: self + submodules: false + - template: set-version-number-variables-step.yml + + - template: flex-downloadPipelineArtifact.yml + parameters: + StepName: 'Download Pipeline Artifact - Win x64' + ArtifactName: 'drop-onnxruntime-java-win-x64' + TargetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-win-x64' + SpecificArtifact: ${{ parameters.SpecificArtifact }} + BuildId: ${{ parameters.BuildId }} + + - template: flex-downloadPipelineArtifact.yml + parameters: + StepName: 'Download Pipeline Artifact - Linux x64' + ArtifactName: 'drop-onnxruntime-java-linux-x64' + TargetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-linux-x64' + SpecificArtifact: ${{ parameters.SpecificArtifact }} + BuildId: ${{ parameters.BuildId }} + + - template: flex-downloadPipelineArtifact.yml + parameters: + StepName: 'Download Pipeline Artifact - Linux AARCH64' + ArtifactName: 'drop-onnxruntime-java-linux-aarch64' + TargetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-linux-aarch64' + SpecificArtifact: ${{ parameters.SpecificArtifact }} + BuildId: ${{ parameters.BuildId }} + + - template: flex-downloadPipelineArtifact.yml + parameters: + StepName: 'Download Pipeline Artifact - MacOS x64' + ArtifactName: 'drop-onnxruntime-java-osx-x86_64' + TargetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-osx-x86_64' + SpecificArtifact: ${{ parameters.SpecificArtifact }} + BuildId: ${{ parameters.BuildId }} + + - template: flex-downloadPipelineArtifact.yml + parameters: + StepName: 'Download Pipeline Artifact - MacOS ARM64' + ArtifactName: 'drop-onnxruntime-java-osx-arm64' + TargetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-osx-arm64' + SpecificArtifact: ${{ parameters.SpecificArtifact }} + BuildId: ${{ parameters.BuildId }} + + - task: PowerShell@2 + displayName: 'PowerShell Script' + inputs: + targetType: filePath + filePath: $(Build.SourcesDirectory)\tools\ci_build\github\windows\jar_packaging.ps1 + failOnStderr: true + showWarnings: true + workingDirectory: '$(Build.BinariesDirectory)\java-artifact' + + - template: jar-esrp-dll.yml + parameters: + JarFileDirectory: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-win-x64' + JarFileName: 'onnxruntime-$(OnnxRuntimeVersion).jar' + + - template: jar-maven-signing-win.yml + parameters: + JarFileDirectory: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-win-x64' + + - task: CopyFiles@2 + displayName: 'Copy Java Files to Artifact Staging Directory' + inputs: + SourceFolder: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-win-x64' + TargetFolder: '$(Build.ArtifactStagingDirectory)' + + - task: 1ES.PublishPipelineArtifact@1 + displayName: 'Publish Pipeline Artifact' + inputs: + path: '$(Build.ArtifactStagingDirectory)' + artifact: 'onnxruntime-java' + + - template: component-governance-component-detection-steps.yml + parameters : + condition : 'succeeded' + +- stage: NuGet_Packaging_CPU + dependsOn: + - Setup + - Linux_C_API_Packaging_CPU + - MacOS_C_API_Package_Publish + - Windows_Packaging_CPU_x86_${{ parameters.BuildVariant }} + - Windows_Packaging_CPU_x64_${{ parameters.BuildVariant }} + - Windows_Packaging_CPU_arm64_${{ parameters.BuildVariant }} + - Android_Java_API_AAR_Packaging_Full + - iOS_Full_xcframework + condition: succeeded() + jobs: + - job: NuGet_Packaging_CPU + workspace: + clean: all + pool: 'onnxruntime-Win-CPU-2022' + variables: + OrtPackageId: ${{ parameters.OrtNugetPackageId }} + breakCodesignValidationInjection: ${{ parameters.DoEsrp }} + ReleaseVersionSuffix: $[stageDependencies.Setup.Set_Variables.outputs['Set_Release_Version_Suffix.ReleaseVersionSuffix']] + BuildDate : $[stageDependencies.Setup.Set_Variables.outputs['Set_Build_Date.BuildDate']] + BuildTime : $[stageDependencies.Setup.Set_Variables.outputs['Set_Build_Time.BuildTime']] + + steps: + - checkout: self + submodules: true + + - template: flex-downloadPipelineArtifact.yml + parameters: + StepName: 'Download Pipeline Artifact - Win x64' + ArtifactName: 'onnxruntime-win-x64' + TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' + SpecificArtifact: ${{ parameters.specificArtifact }} + BuildId: ${{ parameters.BuildId }} + + - template: flex-downloadPipelineArtifact.yml + parameters: + StepName: 'Download win-x86 Pipeline Artifact' + ArtifactName: 'onnxruntime-win-x86' + TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' + SpecificArtifact: ${{ parameters.specificArtifact }} + BuildId: ${{ parameters.BuildId }} + + - template: flex-downloadPipelineArtifact.yml + parameters: + StepName: 'Download win-arm64 Pipeline Artifact' + ArtifactName: 'onnxruntime-win-arm64' + TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' + SpecificArtifact: ${{ parameters.specificArtifact }} + BuildId: ${{ parameters.BuildId }} + + - template: flex-downloadPipelineArtifact.yml + parameters: + StepName: 'Download osx-x64 Pipeline Artifact' + ArtifactName: 'onnxruntime-osx' + TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' + SpecificArtifact: ${{ parameters.specificArtifact }} + BuildId: ${{ parameters.BuildId }} + + - template: flex-downloadPipelineArtifact.yml + parameters: + StepName: 'Download linux-x64 Pipeline Artifact' + ArtifactName: 'onnxruntime-linux-x64' + TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' + SpecificArtifact: ${{ parameters.specificArtifact }} + BuildId: ${{ parameters.BuildId }} + + - template: flex-downloadPipelineArtifact.yml + parameters: + StepName: 'Download linux-aarch64 Pipeline Artifact' + ArtifactName: 'onnxruntime-linux-aarch64' + TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' + SpecificArtifact: ${{ parameters.specificArtifact }} + BuildId: ${{ parameters.BuildId }} + + - template: flex-downloadPipelineArtifact.yml + parameters: + StepName: 'Download iOS Pipeline Artifact' + ArtifactName: 'onnxruntime-ios-full-xcframework' + TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' + SpecificArtifact: ${{ parameters.specificArtifact }} + BuildId: ${{ parameters.BuildId }} + + - template: flex-downloadPipelineArtifact.yml + parameters: + StepName: 'Download Android-full-aar Pipeline Artifact' + ArtifactName: 'onnxruntime-android-full-aar' + TargetPath: '$(Build.BinariesDirectory)/nuget-artifact' + SpecificArtifact: ${{ parameters.specificArtifact }} + BuildId: ${{ parameters.BuildId }} + + - script: | + dir + workingDirectory: '$(Build.BinariesDirectory)/nuget-artifact' + displayName: 'List artifacts' + + - template: set-version-number-variables-step.yml + + # Reconstruct the build dir + - task: PowerShell@2 + displayName: 'Extract native libraries for addition to nuget native package' + inputs: + targetType: filePath + filePath: $(Build.SourcesDirectory)\tools\ci_build\github\windows\extract_nuget_files.ps1 + + - script: | + mklink /D /J models C:\local\models + workingDirectory: '$(Build.BinariesDirectory)' + displayName: 'Create models link' + - task: NuGetToolInstaller@0 + displayName: Use Nuget 6.10.x + inputs: + versionSpec: 6.10.x + + - task: PowerShell@2 + displayName: Install mobile workloads + inputs: + targetType: 'inline' + script: | + dotnet workload install android ios maccatalyst + workingDirectory: '$(Build.SourcesDirectory)\csharp' + + - task: MSBuild@1 + displayName: 'Restore NuGet Packages and create project.assets.json' + inputs: + solution: '$(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.sln' + platform: 'Any CPU' + configuration: RelWithDebInfo + msbuildArguments: '-t:restore -p:OrtPackageId=$(OrtPackageId)' + workingDirectory: '$(Build.SourcesDirectory)\csharp' + + - task: MSBuild@1 + displayName: 'Build C# bindings' + inputs: + solution: '$(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.sln' + platform: 'Any CPU' + configuration: RelWithDebInfo + msbuildArguments: '-p:OnnxRuntimeBuildDirectory="$(Build.BinariesDirectory)" -p:OrtPackageId=$(OrtPackageId) -p:IsReleaseBuild=${{ parameters.IsReleaseBuild }} -p:ReleaseVersionSuffix=$(ReleaseVersionSuffix) -p:PackageVersion=$(OnnxRuntimeVersion)' + workingDirectory: '$(Build.SourcesDirectory)\csharp' + + - ${{ if eq(parameters.DoEsrp, true) }}: + - template: win-esrp-dll.yml + parameters: + FolderPath: '$(Build.SourcesDirectory)\csharp\src\Microsoft.ML.OnnxRuntime\bin\RelWithDebInfo' + DisplayName: 'ESRP - Sign C# dlls' + DoEsrp: ${{ parameters.DoEsrp }} + + - task: UsePythonVersion@0 + displayName: 'Use Python' + inputs: + versionSpec: 3.12 + + - task: MSBuild@1 + displayName: 'Build Nuget Packages' + inputs: + solution: '$(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.proj' + platform: 'Any CPU' + configuration: RelWithDebInfo + msbuildArguments: '-t:CreatePackage -p:OnnxRuntimeBuildDirectory="$(Build.BinariesDirectory)" -p:OrtPackageId=$(OrtPackageId) -p:IsReleaseBuild=${{ parameters.IsReleaseBuild }} -p:ReleaseVersionSuffix=$(ReleaseVersionSuffix) -p:CurrentTime=$(BuildTime) -p:CurrentDate=$(BuildDate)' + workingDirectory: '$(Build.SourcesDirectory)\csharp' + + - task: CopyFiles@2 + displayName: 'Copy native nuget package to: $(Build.ArtifactStagingDirectory)' + inputs: + SourceFolder: '$(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo' + Contents: '*.nupkg' + TargetFolder: '$(Build.ArtifactStagingDirectory)' + + - task: CopyFiles@2 + displayName: 'Copy native nuget symbols package to: $(Build.ArtifactStagingDirectory)' + inputs: + SourceFolder: '$(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo' + Contents: '*.snupkg' + TargetFolder: '$(Build.ArtifactStagingDirectory)' + + - task: CopyFiles@2 + displayName: 'Copy managed nuget package to: $(Build.ArtifactStagingDirectory)' + inputs: + SourceFolder: '$(Build.SourcesDirectory)\csharp\src\Microsoft.ML.OnnxRuntime\bin\RelWithDebInfo' + Contents: '*.nupkg' + TargetFolder: '$(Build.ArtifactStagingDirectory)' + + - template: esrp_nuget.yml + parameters: + DisplayName: 'ESRP - sign NuGet package' + FolderPath: '$(Build.ArtifactStagingDirectory)' + DoEsrp: ${{ parameters.DoEsrp }} + + - template: validate-package.yml + parameters: + PackageType: 'nuget' + PackagePath: '$(Build.ArtifactStagingDirectory)' + PackageName: 'Microsoft.ML.OnnxRuntime.*nupkg' + PlatformsSupported: 'win-x64,win-x86,linux-x64,linux-arm64,osx-x64' + VerifyNugetSigning: false + + - task: 1ES.PublishPipelineArtifact@0 + displayName: 'Publish Pipeline NuGet Artifact' + inputs: + path: '$(Build.ArtifactStagingDirectory)' + artifact: 'drop-signed-nuget-CPU' + + + + - task: MSBuild@1 + displayName: 'Clean C#' + inputs: + solution: '$(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.sln' + platform: 'Any CPU' + configuration: RelWithDebInfo + msbuildArguments: '-t:Clean -p:OnnxRuntimeBuildDirectory="$(Build.BinariesDirectory)" -p:OrtPackageId=$(OrtPackageId)' + workingDirectory: '$(Build.SourcesDirectory)\csharp' + + - template: component-governance-component-detection-steps.yml + parameters : + condition : 'succeeded' + # #- stage: Nodejs_Packaging # dependsOn: