Files
DirectXTex/build/promotenuget.ps1
Chuck Walbourn 1e5956b8cb
Some checks failed
CMake (WSL) / build (x64-Debug-Linux, 14) (push) Failing after 4s
CMake (WSL) / build (x64-Debug-Linux, 12) (push) Failing after 4s
CMake (WSL) / build (x64-Debug-Linux, 13) (push) Failing after 3s
CMake (WSL) / build (x64-Release-Linux, 14) (push) Failing after 4s
CMake (WSL) / build (x64-Release-Linux, 12) (push) Failing after 3s
CMake (WSL) / build (x64-Release-Linux, 13) (push) Failing after 3s
CMake (Windows on ARM64) / build (arm64-Debug) (push) Has been cancelled
CMake (Windows on ARM64) / build (arm64-Debug-UWP) (push) Has been cancelled
CMake (Windows on ARM64) / build (arm64-Release) (push) Has been cancelled
CMake (Windows on ARM64) / build (arm64-Release-UWP) (push) Has been cancelled
BVTs (arm64) / build (arm64-Release) (push) Has been cancelled
BVTs (x64) / build (amd64, x64-Release, 14) (push) Has been cancelled
BVTs (x64) / build (amd64, x64-Release, 14.29) (push) Has been cancelled
CodeQL / Analyze (C/C++) (push) Has been cancelled
CMake (Windows) / build (amd64, x64-Debug, 14) (push) Has been cancelled
CMake (Windows) / build (amd64, x64-Debug, 14.29) (push) Has been cancelled
CMake (Windows) / build (amd64, x64-Debug-Clang, 14) (push) Has been cancelled
CMake (Windows) / build (amd64, x64-Debug-Win8, 14) (push) Has been cancelled
CMake (Windows) / build (amd64, x64-Release, 14) (push) Has been cancelled
CMake (Windows) / build (amd64, x64-Release, 14.29) (push) Has been cancelled
CMake (Windows) / build (amd64, x64-Release-Clang, 14) (push) Has been cancelled
CMake (Windows) / build (amd64, x64-Release-Win8, 14) (push) Has been cancelled
CMake (Windows) / build (amd64_arm64, arm64-Debug, 14) (push) Has been cancelled
CMake (Windows) / build (amd64_arm64, arm64-Debug-Clang, 14) (push) Has been cancelled
CMake (Windows) / build (amd64_arm64, arm64-Release, 14) (push) Has been cancelled
CMake (Windows) / build (amd64_arm64, arm64-Release-Clang, 14) (push) Has been cancelled
CMake (Windows) / build (amd64_arm64, arm64ec-Debug, 14) (push) Has been cancelled
CMake (Windows) / build (amd64_arm64, arm64ec-Release, 14) (push) Has been cancelled
CMake (Windows) / build (amd64_x86, x86-Debug, 14) (push) Has been cancelled
CMake (Windows) / build (amd64_x86, x86-Debug, 14.29) (push) Has been cancelled
CMake (Windows) / build (amd64_x86, x86-Debug-Clang, 14) (push) Has been cancelled
CMake (Windows) / build (amd64_x86, x86-Release, 14) (push) Has been cancelled
CMake (Windows) / build (amd64_x86, x86-Release, 14.29) (push) Has been cancelled
CMake (Windows) / build (amd64_x86, x86-Release-Clang, 14) (push) Has been cancelled
MSBuild / build (Debug, ARM64, 2022) (push) Has been cancelled
MSBuild / build (Debug, x64, 2019) (push) Has been cancelled
MSBuild / build (Debug, x64, 2022) (push) Has been cancelled
MSBuild / build (Debug, x86, 2019) (push) Has been cancelled
MSBuild / build (Debug, x86, 2022) (push) Has been cancelled
MSBuild / build (Release, ARM64, 2022) (push) Has been cancelled
MSBuild / build (Release, x64, 2019) (push) Has been cancelled
MSBuild / build (Release, x64, 2022) (push) Has been cancelled
MSBuild / build (Release, x86, 2019) (push) Has been cancelled
MSBuild / build (Release, x86, 2022) (push) Has been cancelled
CMake (Windows using VCPKG) / build (amd64, x64-Debug-Clang-VCPKG, OFF, 14) (push) Has been cancelled
CTest (Windows) / build (amd64, x64-Debug, 14) (push) Has been cancelled
CTest (Windows) / build (amd64, x64-Debug, 14.29) (push) Has been cancelled
CTest (Windows) / build (amd64, x64-Debug-Clang, 14) (push) Has been cancelled
CTest (Windows) / build (amd64, x64-Release, 14) (push) Has been cancelled
CTest (Windows) / build (amd64, x64-Release, 14.29) (push) Has been cancelled
CTest (Windows) / build (amd64, x64-Release-Clang, 14) (push) Has been cancelled
CTest (Windows) / build (amd64_arm64, arm64-Debug, 14) (push) Has been cancelled
CTest (Windows) / build (amd64_arm64, arm64-Release, 14) (push) Has been cancelled
CTest (Windows) / build (amd64_arm64, arm64ec-Debug, 14) (push) Has been cancelled
CTest (Windows) / build (amd64_arm64, arm64ec-Release, 14) (push) Has been cancelled
CTest (Windows) / build (amd64_x86, x86-Debug, 14) (push) Has been cancelled
CTest (Windows) / build (amd64_x86, x86-Debug, 14.29) (push) Has been cancelled
CTest (Windows) / build (amd64_x86, x86-Debug-Clang, 14) (push) Has been cancelled
CTest (Windows) / build (amd64_x86, x86-Release, 14) (push) Has been cancelled
CTest (Windows) / build (amd64_x86, x86-Release, 14.29) (push) Has been cancelled
Microsoft C++ Code Analysis / Analyze (push) Has been cancelled
CTest (Windows) / build (amd64_x86, x86-Release-Clang, 14) (push) Has been cancelled
CMake (UWP) / build (amd64, x64-Debug-UWP) (push) Has been cancelled
CMake (UWP) / build (amd64, x64-Debug-UWP-Clang) (push) Has been cancelled
CMake (UWP) / build (amd64, x64-Release-UWP) (push) Has been cancelled
CMake (UWP) / build (amd64, x64-Release-UWP-Clang) (push) Has been cancelled
CMake (UWP) / build (amd64_arm64, arm64-Debug-UWP) (push) Has been cancelled
CMake (UWP) / build (amd64_arm64, arm64-Debug-UWP-Clang) (push) Has been cancelled
CMake (UWP) / build (amd64_arm64, arm64-Release-UWP) (push) Has been cancelled
CMake (UWP) / build (amd64_arm64, arm64-Release-UWP-Clang) (push) Has been cancelled
CMake (UWP) / build (amd64_x86, x86-Debug-UWP) (push) Has been cancelled
CMake (UWP) / build (amd64_x86, x86-Debug-UWP-Clang) (push) Has been cancelled
CMake (UWP) / build (amd64_x86, x86-Release-UWP) (push) Has been cancelled
CMake (UWP) / build (amd64_x86, x86-Release-UWP-Clang) (push) Has been cancelled
CMake (Windows using VCPKG) / build (amd64, x64-Debug-MinGW, OFF, 14) (push) Has been cancelled
CMake (Windows using VCPKG) / build (amd64, x64-Debug-MinGW, ON, 14) (push) Has been cancelled
CMake (Windows using VCPKG) / build (amd64, x64-Debug-VCPKG, OFF, 14) (push) Has been cancelled
CMake (Windows using VCPKG) / build (amd64, x64-Debug-VCPKG, OFF, 14.29) (push) Has been cancelled
CMake (Windows using VCPKG) / build (amd64, x64-Release-MinGW, OFF, 14) (push) Has been cancelled
CMake (Windows using VCPKG) / build (amd64, x64-Release-MinGW, ON, 14) (push) Has been cancelled
CMake (Windows using VCPKG) / build (amd64_arm64, arm64-Debug-VCPKG, OFF, 14) (push) Has been cancelled
CMake (Windows using VCPKG) / build (amd64_arm64, arm64ec-Debug-VCPKG, OFF, 14) (push) Has been cancelled
CMake (Windows using VCPKG) / build (amd64_x86, x86-Debug-VCPKG, OFF, 14) (push) Has been cancelled
Added some helper scripts (#660)
2026-01-08 17:39:50 -08:00

133 lines
3.7 KiB
PowerShell

<#
.NOTES
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
.SYNOPSIS
This promotes the NuGet packages on the project-scoped feed.
.DESCRIPTION
This script promotes the views of the DirectXTex NuGet packages on the project-scoped feed. It always promotes to Prerelease view, and if the Release switch is set, it also promotes to Release view.
.PARAMETER Version
Indicates which version of the packages to promote.
.PARAMETER PAT
Requires an ADO PAT with 'Packaging > Read, write, and manage' scope. Can be provided via the ADO_PERSONAL_ACCESS_TOKEN environment variable or as a parameter.
.PARAMETER Release
By default promotes to prerelease. If this switch is set, promotes to release as well.
.LINK
https://github.com/microsoft/DirectXTex/wiki
#>
param(
[Parameter(Mandatory)]
[string]$Version,
[string]$PAT = "",
[switch]$Release
)
# Parse PAT
if ($PAT.Length -eq 0) {
$PAT = $env:ADO_PERSONAL_ACCESS_TOKEN
if ($PAT.Length -eq 0) {
Write-Error "##[error]This script requires a valid ADO Personal Access Token!" -ErrorAction Stop
}
}
# Project-scoped feed root (package name and version to be filled in later)
$uriFormat = "https://pkgs.dev.azure.com/MSCodeHub/ca4f06c8-d88d-40fb-ada3-b70b24a98714/_apis/packaging/feeds/17d602ae-444a-46e6-ac3b-bb124bd0afa8/nuget/packages/{0}/versions/{1}?api-version=7.1"
$headers = @{
"Content-Type" = "application/json"
Authorization = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$PAT"))
}
$bodyPrerelease = @{
views = @{
op = "add"
path = "/views/-"
value = "Prerelease"
}
} | ConvertTo-Json
$bodyRelease = @{
views = @{
op = "add"
path = "/views/-"
value = "Release"
}
} | ConvertTo-Json
$packages = @('directxtex_desktop_2019', 'directxtex_desktop_win10', 'directxtex_uwp')
# Check if all packages exist
$allPackagesSucceeded = $true
foreach ($package in $packages) {
$uri = $uriFormat -f $package, $Version
try
{
Write-Host "Checking if $package version $Version exists..."
Invoke-RestMethod -Uri $uri -Method Get -Headers $headers
}
catch
{
Write-Error "##[error]Package $package version $Version not found!" -ErrorAction Continue
$allPackagesSucceeded = $false
}
}
if (-not $allPackagesSucceeded) {
Write-Error "##[error]Not all packages found. Aborting promotion." -ErrorAction Stop
}
# Promote package to Prerelease view
foreach ($package in $packages) {
$uri = $uriFormat -f $package, $Version
try
{
# Promote to Prerelease view
Write-Host "Promoting $package version $Version to Prerelease view..."
Invoke-RestMethod -Uri $uri -Method Patch -Headers $headers -Body $bodyPrerelease
}
catch
{
Write-Error "##[error]Package $package version $Version failed to promote" -ErrorAction Continue
$allPackagesSucceeded = $false
}
}
if (-not $allPackagesSucceeded) {
Write-Error "##[error]Not all packages promoted to Prerelease." -ErrorAction Stop
}
# Optionally promote package to Release view
if ($Release.IsPresent) {
foreach ($package in $packages) {
$uri = $uriFormat -f $package, $Version
try
{
# Promote to Release view
Write-Host "Promoting $package version $Version to Release view..."
Invoke-RestMethod -Uri $uri -Method Patch -Headers $headers -Body $bodyRelease
}
catch
{
Write-Error "##[error]Package $package version $Version failed to promote" -ErrorAction Continue
$allPackagesSucceeded = $false
}
}
if (-not $allPackagesSucceeded) {
Write-Error "##[error]Not all packages promoted to Release." -ErrorAction Stop
}
}