From 8c5566edcd067b1a8e034dbd5ed7da76dbd25293 Mon Sep 17 00:00:00 2001 From: "Dustin L. Howett" Date: Wed, 17 Jun 2026 16:37:38 -0500 Subject: [PATCH] build: use Terrapin for OneBranch as well --- .../pipeline-1espt-full-release-build.yml | 3 ++ .../pipeline-onebranch-full-release-build.yml | 4 +++ .../templates-v2/steps-install-terrapin.yml | 34 ++++++++++++++++--- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/build/pipelines/templates-v2/pipeline-1espt-full-release-build.yml b/build/pipelines/templates-v2/pipeline-1espt-full-release-build.yml index f42ced7709..cf0d01833b 100644 --- a/build/pipelines/templates-v2/pipeline-1espt-full-release-build.yml +++ b/build/pipelines/templates-v2/pipeline-1espt-full-release-build.yml @@ -121,6 +121,9 @@ extends: - template: ./build/pipelines/templates-v2/steps-setup-versioning.yml@self - template: ./build/pipelines/templates-v2/steps-install-terrapin.yml@self + parameters: + useNuget: true + nugetFeed: "https://pkgs.dev.azure.com/microsoft/_packaging/WindowsTerminal/nuget/v3/index.json" - task: UniversalPackages@0 displayName: Download terminal-internal Universal Package diff --git a/build/pipelines/templates-v2/pipeline-onebranch-full-release-build.yml b/build/pipelines/templates-v2/pipeline-onebranch-full-release-build.yml index bd78a0d5f9..9338ca5aae 100644 --- a/build/pipelines/templates-v2/pipeline-onebranch-full-release-build.yml +++ b/build/pipelines/templates-v2/pipeline-onebranch-full-release-build.yml @@ -142,6 +142,10 @@ extends: beforeBuildSteps: # Right before we build, lay down the universal package and localizations - template: ./build/pipelines/templates-v2/steps-setup-versioning.yml@self + - template: ./build/pipelines/templates-v2/steps-install-terrapin.yml@self + parameters: + useNuget: false + - task: UniversalPackages@0 displayName: Download terminal-internal Universal Package inputs: diff --git a/build/pipelines/templates-v2/steps-install-terrapin.yml b/build/pipelines/templates-v2/steps-install-terrapin.yml index c8330c803d..f146a0fa9d 100644 --- a/build/pipelines/templates-v2/steps-install-terrapin.yml +++ b/build/pipelines/templates-v2/steps-install-terrapin.yml @@ -1,6 +1,32 @@ +parameters: +- name: useNuget + type: boolean + default: true +- name: nugetFeed + type: string + default: unspecified + steps: +- ${{ if and(eq(parameters.useNuget, true), eq(parameters.nugetFeed, 'unspecified')) }}: + - "useNuget=true but nugetFeed was not specified": error - pwsh: |- - nuget install -source "https://pkgs.dev.azure.com/microsoft/_packaging/WindowsTerminal/nuget/v3/index.json" TerrapinRetrievalTool -Prerelease -OutputDirectory _trt - $TerrapinRetrievalToolPath = (Get-Item _trt\TerrapinRetrievalTool.*\win-x64\TerrapinRetrievalTool.exe).FullName - Write-Host "##vso[task.setvariable variable=X_VCPKG_ASSET_SOURCES]x-script,${TerrapinRetrievalToolPath} -b https://vcpkg.storage.devpackages.microsoft.io/artifacts/ -a true -u None -p {url} -s {sha512} -d {dst};x-block-origin" - displayName: Set up the Terrapin Retrieval Tool (vcpkg cache) + Write-Host "##vso[task.setvariable variable=X_VCPKG_ASSET_SOURCES]INVALID" + $TerrapinRetrievalTool = Get-ChildItem C:\nugettools\terrapinretrievaltool -Filter TerrapinRetrievalTool.exe -ErrorAction:Ignore -Recurse + If ($null -Ne $TerrapinRetrievalTool) { + $TerrapinRetrievalToolPath = $TerrapinRetrievalTool.FullName + Write-Host "##vso[task.setvariable variable=X_VCPKG_ASSET_SOURCES]x-script,${TerrapinRetrievalToolPath} -b https://vcpkg.storage.devpackages.microsoft.io/artifacts/ -a true -u None -p {url} -s {sha512} -d {dst};x-block-origin" + } + displayName: Detect installed Terrapin Retrieval Tool + +- ${{ if eq(parameters.useNuget, true) }}: + - pwsh: |- + nuget install -source "${{ parameters.nugetFeed }}" TerrapinRetrievalTool -Prerelease -OutputDirectory _trt + $TerrapinRetrievalToolPath = (Get-Item _trt\TerrapinRetrievalTool.*\win-x64\TerrapinRetrievalTool.exe).FullName + Write-Host "##vso[task.setvariable variable=X_VCPKG_ASSET_SOURCES]x-script,${TerrapinRetrievalToolPath} -b https://vcpkg.storage.devpackages.microsoft.io/artifacts/ -a true -u None -p {url} -s {sha512} -d {dst};x-block-origin" + displayName: Install the Terrapin Retrieval Tool (vcpkg cache) + condition: and(succeeded(), eq(variables['X_VCPKG_ASSET_SOURCES'], 'INVALID')) + +- script: |- + EXIT 1 + displayName: Fail the build if Terrapin was not found + condition: and(succeeded(), eq(variables['X_VCPKG_ASSET_SOURCES'], 'INVALID'))