vcpkg/scripts/azure-pipelines/patch-tuesday-checklist.md
Billy O'Neal ba1465e584
Patch Tuesday for February 2024 (#36757)
* Cherry-pick infrastructure changes from
https://github.com/microsoft/vcpkg/pull/36081 as authored by @dg0yt
* Suppress warnings for the monthly docker mint as suggested by Toddy
Mladenov ( MS internal conversation
https://teams.microsoft.com/l/message/19:f498f444e97f40b2a2027d015a9047ab@thread.tacv2/1707520630587?tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47&groupId=2080ccbe-0cfb-49e6-a9c1-ea6a6bf82722&parentMessageId=1707520630587&teamName=Containers%20Secure%20Supply%20Chain&channelName=3P%20Registry%20and%20Images%20Guidance&createdTime=1707520630587
)
* Move Azure Container Registry for Android to WestUS3; with this we are
officially entirely within one Azure region again :D
* Explicitly grant Azure DevOps permissions to touch the scale set
rather than relying on subscription-level assignments.
2024-02-21 16:30:42 -08:00

2.7 KiB

First time machine setup:

Each Patch Tuesday:

  • Check for depends:vm-update PRs and make relevant changes if possible.
  • Check for Service 360 alerts (possibly at https://aka.ms/s360 ?) against the service named "C++ VCPKG Validation" about vulnerable software we are installing in the VMs and update that. (Most often PowerShell needs to be updated)
  • Check for any other software for the Windows images we wish to update and make the edits to do so in scripts/azure-pipelines/windows
  • Check for any updates possible to vcpkgTools.xml. Note that PowerShell currently uses the 7.2.x series due to customer reported problems on older Windows with 7.3.x and later.
  • Update the first line of android/Dockerfile with the current 'focal' image according to https://hub.docker.com/_/ubuntu
  • Run android/create-docker-image.ps1
  • Update azure-pipelines.yml to point to the new linux docker image from Azure Container Registry
  • Run windows/create-image.ps1
  • Run windows/create-vmss.ps1
  • Create new pools for these in Azure DevOps: https://dev.azure.com/vcpkg/public/_settings/agentqueues
    • Windows: 22 agents
    • Make sure to check 'Grant access permission to all pipelines'
  • Update azure-pipelines.yml to point to the new pools.
  • Submit PR with those changes.
  • Submit a full CI rebuild with those changes: https://dev.azure.com/vcpkg/public/_build?definitionId=29
    refs/pull/NUMBER/head
  • Look at that and compare with recent build and resolve anything that's not an existing baseline issue.
  • Merge the PR.
  • Update the managed image for compiler testing and delete unused images.
    • CPP_GITHUB\vcpkg-image-minting\PrWinWus3
    • Standard HDD LRS
      • West US 3, 1 Replica
  • After the last build finishes on the previous pool, delete it in the Azure Devops Organization UI and its Resource Group. ( https://dev.azure.com/vcpkg/_settings/agentpools ?)
  • Run generate-sas-tokens.ps1 -KeyNumber N, where N is whether the month is even (Jan = 1, Feb = 2, Mar = 1, and so on) and update the relevant libraries on dev.azure.com/vcpkg and devdiv.visualstudio.com
  • After builds using previous SAS tokens complete, run roll-sas-tokens.ps1 -KeyNumber N where this N is the other key. (Jan = 2, Feb = 1, Mar = 2, and so on)
  • Mint a new macOS base box. (See instructions in scripts/azure-pipelines/osx/README.md)
  • Deploy the new base box to all hosts.
  • Update the software on the CTI's machine #12 to match.