winget-cli

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit f8aec5e67a10fe133c58781139e886e2fe345123
parent 3d1d44bccc11acda2076ac5ca7cbefebfd424c65
Author: yao-msft <50888816+yao-msft@users.noreply.github.com>
Date:   Mon,  3 Jul 2023 11:21:41 -0700

Fix wingetutil nuget publish pipeline (#3396)


Diffstat:
MWinGetUtil.nuspec | 16++++++++--------
Mazure-pipelines.nuget.yml | 72+++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------
2 files changed, 63 insertions(+), 25 deletions(-)

diff --git a/WinGetUtil.nuspec b/WinGetUtil.nuspec @@ -19,13 +19,13 @@ </dependencies> </metadata> <files> - <file src="src\x64\Release\WinGetUtil\WinGetUtil.dll" target="runtimes\win-x64\native\WinGetUtil.dll"/> - <file src="src\x64\Release\WinGetUtil\WinGetUtil.pdb" target="runtimes\win-x64\native\WinGetUtil.pdb"/> - <file src="src\x86\Release\WinGetUtil\WinGetUtil.dll" target="runtimes\win-x86\native\WinGetUtil.dll"/> - <file src="src\x86\Release\WinGetUtil\WinGetUtil.pdb" target="runtimes\win-x86\native\WinGetUtil.pdb"/> - <file src="schemas\JSON\manifests\**" target="content\schemas\JSON\manifests" /> - <file src="src\WinGetUtilInterop\bin\Release\netstandard2.0\WinGetUtilInterop.dll" target="lib/netstandard2.0/WinGetUtilInterop.dll" /> - <file src="src\WinGetUtilInterop\bin\Release\netstandard2.0\WinGetUtilInterop.pdb" target="lib/netstandard2.0/WinGetUtilInterop.pdb" /> - <file src="src\WinGetUtilInterop\build\Microsoft.WindowsPackageManager.Utils.targets" target="build/Microsoft.WindowsPackageManager.Utils.targets" /> + <file src="Build.x64release\src\x64\Release\WinGetUtil\WinGetUtil.dll" target="runtimes\win-x64\native\WinGetUtil.dll"/> + <file src="Build.x64release\src\x64\Release\WinGetUtil\WinGetUtil.pdb" target="runtimes\win-x64\native\WinGetUtil.pdb"/> + <file src="Build.x86release\src\x86\Release\WinGetUtil\WinGetUtil.dll" target="runtimes\win-x86\native\WinGetUtil.dll"/> + <file src="Build.x86release\src\x86\Release\WinGetUtil\WinGetUtil.pdb" target="runtimes\win-x86\native\WinGetUtil.pdb"/> + <file src="Build.x64release\schemas\JSON\manifests\**" target="content\schemas\JSON\manifests" /> + <file src="Build.x64release\src\WinGetUtilInterop\bin\Release\netstandard2.0\WinGetUtilInterop.dll" target="lib/netstandard2.0/WinGetUtilInterop.dll" /> + <file src="Build.x64release\src\WinGetUtilInterop\bin\Release\netstandard2.0\WinGetUtilInterop.pdb" target="lib/netstandard2.0/WinGetUtilInterop.pdb" /> + <file src="Build.x64release\src\WinGetUtilInterop\build\Microsoft.WindowsPackageManager.Utils.targets" target="build/Microsoft.WindowsPackageManager.Utils.targets" /> </files> </package> \ No newline at end of file diff --git a/azure-pipelines.nuget.yml b/azure-pipelines.nuget.yml @@ -10,15 +10,23 @@ pool: variables: solution: "src/AppInstallerCLI.sln" - buildConfiguration: "Release" packageName: Microsoft.WindowsPackageManager.Utils + buildVer: $[counter(${{ parameters.version }}, 1)] + version: ${{ parameters.version }}.$(buildVer) jobs: - job: "Build" timeoutInMinutes: 120 + strategy: + matrix: + x86_release: + buildConfiguration: 'Release' + buildPlatform: 'x86' + x64_release: + buildConfiguration: 'Release' + buildPlatform: 'x64' variables: - BuildVer: $[counter(${{ parameters.version }}, 1)] - version: ${{ parameters.version }}.$(BuildVer) + artifactsDir: $(Build.ArtifactStagingDirectory)\$(buildPlatform) steps: - script: echo $(version) @@ -55,24 +63,17 @@ jobs: condition: not(eq(variables['Build.Reason'], 'PullRequest')) inputs: filePath: 'src\binver\Update-BinVer.ps1' - arguments: '-TargetFile binver\binver\version.h -BuildVersion $(BuildVer) -MajorMinorOverride ${{ parameters.version }}' + arguments: '-TargetFile binver\binver\version.h -BuildVersion $(buildVer) -MajorMinorOverride ${{ parameters.version }}' workingDirectory: "src" - task: VSBuild@1 - displayName: Build Solution x86 + displayName: Build Solution inputs: - platform: "x86" + platform: "$(buildPlatform)" solution: "$(solution)" configuration: "$(buildConfiguration)" - - task: VSBuild@1 - displayName: Build Solution x64 - inputs: - platform: "x64" - solution: "$(solution)" - configuration: "$(buildConfiguration)" - - - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1 + - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@2 displayName: "ESRP CodeSigning - Package contents" inputs: ConnectedServiceName: "WindowsPackageManager ESRP CodeSigning" @@ -106,16 +107,53 @@ jobs: } ] + - task: CopyFiles@2 + displayName: 'Copy nuget pack files to artifacts folder' + inputs: + Contents: | + WinGetUtil.nuspec + src\$(buildPlatform)\$(buildConfiguration)\WinGetUtil\WinGetUtil.dll + src\$(buildPlatform)\$(buildConfiguration)\WinGetUtil\WinGetUtil.pdb + src\WinGetUtilInterop\bin\$(buildConfiguration)\netstandard2.0\WinGetUtilInterop.dll + src\WinGetUtilInterop\bin\$(buildConfiguration)\netstandard2.0\WinGetUtilInterop.pdb + src\WinGetUtilInterop\build\Microsoft.WindowsPackageManager.Utils.targets + schemas\JSON\manifests\** + TargetFolder: '$(artifactsDir)' + + - task: PublishPipelineArtifact@1 + displayName: Publish Pipeline Artifacts + inputs: + targetPath: '$(artifactsDir)' + + - job: "Nuget" + timeoutInMinutes: 60 + dependsOn: 'Build' + steps: + - checkout: none + + - task: DownloadPipelineArtifact@2 + displayName: 'Download Build.x64release artifacts' + inputs: + artifactName: Build.x64release + targetPath: '$(Pipeline.Workspace)\Build.x64release' + + - task: DownloadPipelineArtifact@2 + displayName: 'Download Build.x86release artifacts' + inputs: + artifactName: Build.x86release + targetPath: '$(Pipeline.Workspace)\Build.x86release' + - task: NuGetCommand@2 displayName: Pack WingetUtil nuget package inputs: command: pack - packagesToPack: WinGetUtil.nuspec + packagesToPack: '$(Pipeline.Workspace)\Build.x64release\WinGetUtil.nuspec' versioningScheme: byEnvVar versionEnvVar: version - packDestination: "$(Build.ArtifactStagingDirectory)" + packDestination: '$(Build.ArtifactStagingDirectory)' + basePath: $(Pipeline.Workspace) - - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1 + - task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@2 displayName: "ESRP CodeSigning - NuGet package" inputs: ConnectedServiceName: "WindowsPackageManager ESRP CodeSigning"