From ba823b1e1f330a2679273d29bda5b2ab6a603de8 Mon Sep 17 00:00:00 2001 From: Billy O'Neal Date: Fri, 13 Oct 2023 14:57:51 -0700 Subject: [PATCH] Patch Tuesday 2023-10-11 (except macOS) (#34431) --- scripts/azure-pipelines/azure-pipelines.yml | 4 ++-- .../linux/changing-linux-packages.md | 3 +++ .../azure-pipelines/linux/managed-image.json | 2 +- .../azure-pipelines/linux/provision-image.sh | 3 +++ .../patch-tuesday-checklist.md | 20 ++++++++++++++++--- .../azure-pipelines/windows/deploy-pwsh.ps1 | 2 +- 6 files changed, 27 insertions(+), 7 deletions(-) create mode 100644 scripts/azure-pipelines/linux/changing-linux-packages.md diff --git a/scripts/azure-pipelines/azure-pipelines.yml b/scripts/azure-pipelines/azure-pipelines.yml index d14d2aec15..dd6094c4b9 100644 --- a/scripts/azure-pipelines/azure-pipelines.yml +++ b/scripts/azure-pipelines/azure-pipelines.yml @@ -4,9 +4,9 @@ variables: android-pool: 'PrAnd-1ES-Pool' linux-pool: 'PrLin-1ES-Pool' - windows-pool: 'PrWin-2023-09-13' + windows-pool: 'PrWin-2023-10-11' osx-pool: 'PrOsx-2023-09-11' - linux-docker-image: 'andcontainerregistry.azurecr.io/vcpkg-android:2023-09-13' + linux-docker-image: 'andcontainerregistry.azurecr.io/vcpkg-android:2023-10-11' parameters: - name: vcpkgToolSha diff --git a/scripts/azure-pipelines/linux/changing-linux-packages.md b/scripts/azure-pipelines/linux/changing-linux-packages.md new file mode 100644 index 0000000000..f8b5f8265b --- /dev/null +++ b/scripts/azure-pipelines/linux/changing-linux-packages.md @@ -0,0 +1,3 @@ +- [ ] Update `provision-image.sh` to add the new apt package. +- [ ] Update `managed-image.json` to add the new apt package to the very long line of packages. +- [ ] Update the managed image named CPP_GITHUB\PrLin-1ES\PrLin-1ESImage by copying the contents of `managed-image.json` to the Settings\Image text box. diff --git a/scripts/azure-pipelines/linux/managed-image.json b/scripts/azure-pipelines/linux/managed-image.json index b26239528e..090ae8a90f 100644 --- a/scripts/azure-pipelines/linux/managed-image.json +++ b/scripts/azure-pipelines/linux/managed-image.json @@ -3,7 +3,7 @@ { "name": "linux-install-packages", "parameters": { - "packages": "git curl zip unzip tar at libxt-dev gperf libxaw7-dev cifs-utils build-essential g++ gfortran libx11-dev libxkbcommon-x11-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxinerama-dev libxxf86vm-dev libxcursor-dev yasm libnuma1 libnuma-dev libtool-bin flex bison libbison-dev autoconf libudev-dev libncurses5-dev libtool libxrandr-dev xutils-dev dh-autoreconf autoconf-archive libgles2-mesa-dev ruby-full pkg-config meson nasm cmake ninja-build libxext-dev libxfixes-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-util0-dev libxkbcommon-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xinput-dev libxcb-cursor-dev libkrb5-dev libxcb-res0-dev libxcb-keysyms1-dev libxcb-xkb-dev libxcb-record0-dev python3-setuptools python3-mako python3-pip python3-venv nodejs libwayland-dev python-is-python3 guile-2.2-dev libxdamage-dev libdbus-1-dev libxtst-dev haskell-stack golang-go" + "packages": "git curl zip unzip tar at libxt-dev gperf libxaw7-dev cifs-utils build-essential g++ gfortran libx11-dev libxkbcommon-x11-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxinerama-dev libxxf86vm-dev libxcursor-dev yasm libnuma1 libnuma-dev libtool-bin flex bison libbison-dev autoconf libudev-dev libncurses5-dev libtool libxrandr-dev xutils-dev dh-autoreconf autoconf-archive libgles2-mesa-dev ruby-full pkg-config meson nasm cmake ninja-build libxext-dev libxfixes-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-util0-dev libxkbcommon-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xinput-dev libxcb-cursor-dev libkrb5-dev libxcb-res0-dev libxcb-keysyms1-dev libxcb-xkb-dev libxcb-record0-dev python3-setuptools python3-mako python3-pip python3-venv nodejs libwayland-dev python-is-python3 guile-2.2-dev libxdamage-dev libdbus-1-dev libxtst-dev haskell-stack golang-go wayland-protocols" } }, { diff --git a/scripts/azure-pipelines/linux/provision-image.sh b/scripts/azure-pipelines/linux/provision-image.sh index 9a280d2b32..28ad548643 100755 --- a/scripts/azure-pipelines/linux/provision-image.sh +++ b/scripts/azure-pipelines/linux/provision-image.sh @@ -91,6 +91,9 @@ APT_PACKAGES="$APT_PACKAGES haskell-stack" ## required by boringssl APT_PACKAGES="$APT_PACKAGES golang-go" +## required by libdecor +APT_PACKAGES="$APT_PACKAGES wayland-protocols" + ## CUDA APT_PACKAGES="$APT_PACKAGES cuda-compiler-12-1 cuda-libraries-dev-12-1 cuda-driver-dev-12-1 \ cuda-cudart-dev-12-1 libcublas-12-1 libcurand-dev-12-1 cuda-nvml-dev-12-1 libcudnn8-dev libnccl2 \ diff --git a/scripts/azure-pipelines/patch-tuesday-checklist.md b/scripts/azure-pipelines/patch-tuesday-checklist.md index 1ceb337444..cb5857467a 100644 --- a/scripts/azure-pipelines/patch-tuesday-checklist.md +++ b/scripts/azure-pipelines/patch-tuesday-checklist.md @@ -1,22 +1,36 @@ ## First time machine setup: * [ ] Install Azure PowerShell: https://docs.microsoft.com/en-us/powershell/azure/install-az-ps +* [ ] Run `Connect-AzAccount -Subscription CPP_GITHUB` * [ ] Install Docker ## Each Patch Tuesday: * [ ] Check for depends:vm-update PRs and make relevant changes if possible. -* [ ] Check for Service 360 alerts about vulnerable software we are installing in the VMs and - update that. (Most often PowerShell needs to be updated to the current 7.2.x release) +* [ ] 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` * [ ] 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\PrWinEA + * Standard HDD LRS + * East Asia, 1 Replica + * West US 2, 1 Replica + * 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` and update the relevant libraries on dev.azure.com/vcpkg and devdiv.visualstudio.com. -* [ ] Mint a new macOS base box. +* [ ] Mint a new macOS base box. (See instructions in `scripts/azure-pipelines/osx/README.md`) * [ ] Deploy the new base box to all hosts. diff --git a/scripts/azure-pipelines/windows/deploy-pwsh.ps1 b/scripts/azure-pipelines/windows/deploy-pwsh.ps1 index 1d22346945..9a5a02afc5 100644 --- a/scripts/azure-pipelines/windows/deploy-pwsh.ps1 +++ b/scripts/azure-pipelines/windows/deploy-pwsh.ps1 @@ -5,5 +5,5 @@ # REPLACE WITH UTILITY-PREFIX.ps1 -$PwshUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.3.6/PowerShell-7.3.6-win-x64.msi' +$PwshUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.3.8/PowerShell-7.3.8-win-x64.msi' InstallMSI -Url $PwshUrl -Name 'PowerShell Core'