-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Checklist for Toolset Updates
Stephan T. Lavavej edited this page Jul 9, 2024
·
26 revisions
This is a one-time process on your development machine:
-
Install PowerShell 7.x. This installs
pwsh.exe
. -
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
.- Check Azure VM spot pricing and the internal price list.
- To find available VM sizes:
(Get-AzVMSize -Location eastus2).Name | Sort-Object
- To find available OS SKUs:
(Get-AzVMImageSku -Location eastus2 -PublisherName MicrosoftWindowsServer -Offer WindowsServer).Skus
- To compare Windows Server 2022 update history with the latest available version:
((Get-AzVMImage -Location eastus2 -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2022-datacenter-g2).Version | Sort-Object -Descending { [version] $_ })[0]
- 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. - Update
$/README.md
to mention any new toolset/dependency versions. - 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