Skip to content

Checklist for Toolset Updates

Stephan T. Lavavej edited this page Aug 25, 2022 · 31 revisions

Initial Setup

This is a one-time process on your development machine:

  1. Install PowerShell 7.x. This installs pwsh.exe.
  2. Install Azure PowerShell.
    • To install:
      Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force
    • To sign in:
      Connect-AzAccount
    • To check the installed versions of Azure PowerShell:
      Get-InstalledModule -Name Az -AllVersions | Select-Object -Property Name, Version
    • To update Azure PowerShell:
      Update-Module -Name Az -Scope CurrentUser

Toolset Update

  1. Create a new branch in your own fork.
  2. 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 in provision-image.ps1.
    • Check Azure VM spot pricing and the internal price list.
    • To find new SKUs:
      (Get-AzVMImageSku -Location westus2 -PublisherName MicrosoftWindowsServer -Offer WindowsServer).Skus
    • To compare Windows Server 2022 update history with the latest available version:
      (Get-AzVMImage -Location westus2 -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2022-datacenter-g2).Version
  3. Run $/azure-devops/create-1es-hosted-pool.ps1. This should take approximately 25 minutes.
    • Update this page if the expected time seems to be consistently wrong.
  4. Update $/azure-pipelines.yml to point to the new pool.
  5. Update $/README.md to mention any new toolset/dependency versions.
  6. Create/update a PR from your branch to microsoft/STL.
  7. After your PR merges, delete the old unused pool from https://dev.azure.com/vclibs/_settings/agentpools, and the previous resource group from the Azure portal.

Resource Groups

  1. Go to https://portal.azure.com
  2. Click Subscriptions
  3. 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
  4. Left column > Settings > click Resource groups