-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Checklist for Toolset Updates
Stephan T. Lavavej edited this page Apr 17, 2025
·
38 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
- To check the latest installed version of Azure PowerShell:
(Get-InstalledModule -Name Az -AllVersions).Version
- To update Azure PowerShell:
Update-Module -Name Az -Scope CurrentUser
- If you ever need to uninstall Azure PowerShell (unusual), delete:
%OneDrive%\Documents\PowerShell
- To install:
- Create a new branch in your own fork.
- Edit
$/azure-devops/create-1es-hosted-pool.ps1
and$/azure-devops/provision-image.ps1
to make the changes/updates you want to make. Most changes will be merely updating version numbers which happens inprovision-image.ps1
.- To find available VM sizes: (also check the internal VM price list)
(Get-AzVMSize -Location eastus2).Name | Sort-Object
- To find available OS SKUs:
(Get-AzVMImageSku -Location eastus2 -PublisherName MicrosoftWindowsServer -Offer WindowsServer).Skus
- To find available VM sizes: (also check the internal VM price list)
- To update version numbers:
- VS/MSVC
- Mentioned in
$/README.md
- Checked in
$/CMakeLists.txt
- Checked in
$/stl/inc/yvals_core.h
(coarse-grained, limited by MSVC-internal toolset)
- Mentioned 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
- Mentioned in
$/README.md
- Checked in
$/**/CMakeLists.txt
- Mentioned in
- Ninja
- Mentioned in
$/README.md
- Mentioned in
- Python
- Mentioned in
$/README.md
- Checked in
$/tests/CMakeLists.txt
- Selected in
$/azure-devops/provision-image.ps1
- Mentioned in
- Clang
- 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
- Checked 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
- The GitHub submodule should match MSVC-internal
- PowerShell
- Selected in
$/azure-devops/provision-image.ps1
- Selected in
- VS/MSVC
- Run
$/azure-devops/create-1es-hosted-pool.ps1
. This should take approximately 40 minutes.- Update this page if the expected time seems to be consistently wrong.
- Update
$/azure-devops/config.yml
to point to the new pool. - 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.
- If there are substantial code review changes, cleanup the abandoned pool and resource group (see below), make the code review requested changes, and restart from step 3.
- You must manually grant permission:
- After merging your PR, wait for a successful CI run, then cleanup the old pool and resource group (see below).
⚠️ The next STL-ASan-CI run will also need to be granted permission!
- Delete the pool from https://dev.azure.com/vclibs/_settings/agentpools .
- Delete the resource group 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