-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Checklist for Toolset Updates
Stephan T. Lavavej edited this page Nov 2, 2025
·
42 revisions
On your development machine:
-
Install PowerShell 7.x.
- This installs
pwsh.exe.
- This installs
-
Install Azure PowerShell.
- To install:
Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force
- To sign in:
Connect-AzAccount -Subscription 'CPP_STL_GitHub'
- To check the latest installed version:
(Get-InstalledModule -Name Az -AllVersions).Version
- To update:
Update-Module -Name Az -Scope CurrentUser
- To uninstall (unusual), delete:
%OneDrive%\Documents\PowerShell
- To install:
- Create a new branch in your own fork.
- Edit
$/azure-devops/create-1es-hosted-pool.ps1and$/azure-devops/provision-image.ps1to make the changes/updates you want to make. Most changes will be merely updating version numbers which happens inprovision-image.ps1.- To find a new location, check Azure Capacity Guidance.
- To find available VM sizes, check Azure Internal Pricing and run:
(Get-AzVMSize -Location eastus2).Name | Sort-Object
- To find available OS SKUs:
(Get-AzVMImageSku -Location eastus2 -PublisherName MicrosoftWindowsServer -Offer WindowsServer).Skus
- To update version numbers:
- MSVC
- Checked in
$/CMakeLists.txt - Checked in
$/stl/inc/yvals_core.h(coarse-grained, limited by MSVC-internal toolset)
- Checked in
- WinSDK
- Mentioned in
$/README.md - Checked in
$/CMakeLists.txt - Selected in
$/azure-devops/provision-image.ps1 - Should match MSVC-internal
.corext/Configs/default.config
- Mentioned in
- CMake
- Checked in
$/**/CMakeLists.txt
- Checked in
- Python
- Mentioned in
$/README.md - Checked in
$/tests/CMakeLists.txt - Selected in
$/azure-devops/provision-image.ps1
- Mentioned in
- Clang
- Mentioned in
$/README.md - Checked in
$/stl/inc/yvals_core.h(coarse-grained) - Follow update instructions in
$/.clang-format - Checked in
$/tools/format/CMakeLists.txt - Update table in Macro _MSVC_STL_UPDATE
- Should match MSVC-internal
.corext/Configs/default.config,src/qa/distrib.yaml,src/vctools/setenv/setenv_common.cmd
- Mentioned in
- CUDA
- Checked in
$/stl/inc/yvals_core.h - Selected in
$/azure-devops/provision-image.ps1 - Update table in Macro _MSVC_STL_UPDATE
- Checked in
- boost-math
- The GitHub submodule should match MSVC-internal
src/vctools/vcpkg_overlay_ports/boost-math - Follow the instructions at MSVC-internal
src/vctools/docs/src/workflow_demos/OpenSourceDependencies/oss_dependency.mdto update Central Feed Services
- The GitHub submodule should match MSVC-internal
- PowerShell
- Selected in
$/azure-devops/provision-image.ps1
- Selected in
- MSVC
- Run
$/azure-devops/create-1es-hosted-pool.ps1 -Arch 'x64'.- This should take approximately 40 minutes. Update this page if the expected time seems to be consistently wrong.
- Update
poolNamein$/azure-devops/config.yml. - Run
$/azure-devops/create-1es-hosted-pool.ps1 -Arch 'arm64'. - Update
arm64PoolNamein$/azure-devops/config.yml. - Create/update a PR from your branch to microsoft/STL.
- You must manually grant permission:
- Click Details for the STL-CI check.
- Click View more details on Azure Pipelines.
- Click View on the banner that says, "This pipeline needs permission to access a resource before this run can continue to Code Format".
- Click Permit.
- Click Permit again.
- You'll need to do this again when the ARM64 checks use the ARM64 pool.
- If there are substantial code review changes, cleanup the abandoned pools and resource groups (see below), make the code review requested changes, and restart the process.
- You must manually grant permission:
- After merging your PR, wait for a successful CI run, then cleanup the old pools and resource groups (see below).
⚠️ The next STL-ASan-CI run will also need to be granted permission!
- Delete the old pools from https://dev.azure.com/vclibs/_settings/agentpools .
- Delete the old resource groups from the Azure portal.
- Go to https://portal.azure.com
- Click Subscriptions
- Click CPP_STL_GitHub
- If you don't see that at first:
- Check "Show only subscriptions selected in the global subscriptions filter"
- Click "global subscriptions filter"
- Select CPP_STL_GitHub
- Left column > Settings > click Resource groups