Skip to content

Commit

Permalink
Patch Tuesday for February 2024 (#36757)
Browse files Browse the repository at this point in the history
* Cherry-pick infrastructure changes from
#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.
  • Loading branch information
BillyONeal committed Feb 22, 2024
1 parent e56312c commit ba1465e
Show file tree
Hide file tree
Showing 15 changed files with 43 additions and 30 deletions.
10 changes: 9 additions & 1 deletion ports/hpx/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,24 @@ if(VCPKG_TARGET_IS_WINDOWS)
endif()
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" HPX_WITH_STATIC_LINKING)

vcpkg_download_distfile(
MSVC_STATIC_VARIABLES_PATCH
URLS https://github.com/STEllAR-GROUP/hpx/commit/6c378813a7e2304a3a0c8900156f147a3a44b0cb.patch?full_index=1
SHA512 6ed2ec4eab9593d8d1a76da183dd4ceb5ac332f50b0b5cd3a81c74248c61eeb869d301a33e266d06c5f8ddf041da6cd29d1b89b38e51527716a6e557b4a7e66e
FILENAME hpx-6c378813a7e2304a3a0c8900156f147a3a44b0cb.patch
)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO STEllAR-GROUP/hpx
REF "v${VERSION}"
SHA512 a7972beada950cf6ef3b61f20496a08b220e4f48c28c11d57c20683906ca5124a9f36ac2552318883a5ab1db6efdbf63d1141b6e0c484c560a8c1311ae2d7090
HEAD_REF stable
HEAD_REF master
PATCHES
fix-dependency-hwloc.patch
fix-debug.patch
fix_output_name_clash.patch
"${MSVC_STATIC_VARIABLES_PATCH}"
)

vcpkg_check_features(
Expand Down
1 change: 1 addition & 0 deletions ports/hpx/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "hpx",
"version": "1.9.1",
"port-version": 1,
"description": [
"The C++ Standards Library for Concurrency and Parallelism",
"HPX is a C++ Standards Library for Concurrency and Parallelism. It implements all of the corresponding facilities as defined by the C++ Standard. Additionally, in HPX we implement functionalities proposed as part of the ongoing C++ standardization process. We also extend the C++ Standard APIs to the distributed case."
Expand Down
3 changes: 2 additions & 1 deletion scripts/azure-pipelines/android/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# syntax=docker/dockerfile:1.4
FROM ubuntu:focal-20231211
# DisableDockerDetector "Used to build the container deployed to Azure Container Registry"
FROM ubuntu:focal-20240123

ADD https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb /packages-microsoft-prod.deb
ADD https://dl.google.com/android/repository/android-ndk-r25c-linux.zip /android-ndk-r25c-linux.zip
Expand Down
2 changes: 1 addition & 1 deletion scripts/azure-pipelines/android/azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
- bash: |
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
az login --identity
az acr login --name AndContainerRegistry
az acr login --name vcpkgandroidwus3
displayName: 'Set up managed identity'
- bash: |
sudo mkdir /home/agent -m=777
Expand Down
13 changes: 3 additions & 10 deletions scripts/azure-pipelines/android/create-docker-image.ps1
Original file line number Diff line number Diff line change
@@ -1,17 +1,10 @@
# Create Docker image for Android

$Location = 'westus3'
$Date = (Get-Date -Format 'yyyy-MM-dd')
$ResourceGroupName = "And-Registry"
$ContainerRegistryName = "AndContainerRegistry"
$ResourceGroupName = "PrAnd-1ES"
$ContainerRegistryName = "vcpkgandroidwus3"
$ErrorActionPreference = 'Stop'

Get-AzResourceGroup -Name $ResourceGroupName -ErrorVariable error -ErrorAction SilentlyContinue
if ($error) {
New-AzResourceGroup -Name $ResourceGroupName -Location $Location
New-AzContainerRegistry -ResourceGroupName $ResourceGroupName -Name $ContainerRegistryName -EnableAdminUser -Sku Basic
}

$registry = Get-AzContainerRegistry -ResourceGroupName $ResourceGroupName -Name $ContainerRegistryName
Connect-AzContainerRegistry -Name $registry.Name

Expand All @@ -22,7 +15,7 @@ try {

docker build . -t $imageName

$remote = [string]::Format('andcontainerregistry.azurecr.io/{0}:{1}', $imageName, $Date)
$remote = [string]::Format('{0}.azurecr.io/{1}:{2}', $ContainerRegistryName, $imageName, $Date)
docker tag $imageName $remote

docker push $remote
Expand Down
4 changes: 2 additions & 2 deletions scripts/azure-pipelines/azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
variables:
android-pool: 'PrAnd-1ES-Pool'
linux-pool: 'PrLin-1ES-Pool'
windows-pool: 'PrWin-2024-02-08'
windows-pool: 'PrWin-2024-02-16'
osx-pool: 'PrOsx-2024-01-18'
osx-arm64-pool: 'PrOsx-2024-01-22-arm64'
linux-docker-image: 'andcontainerregistry.azurecr.io/vcpkg-android:2024-01-11'
linux-docker-image: 'vcpkgandroidwus3.azurecr.io/vcpkg-android:2024-02-14'

parameters:
- name: vcpkgToolSha
Expand Down
2 changes: 1 addition & 1 deletion scripts/azure-pipelines/linux/managed-image.json
Original file line number Diff line number Diff line change
Expand Up @@ -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 wayland-protocols"
"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-dri3-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"
}
},
{
Expand Down
4 changes: 2 additions & 2 deletions scripts/azure-pipelines/linux/provision-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ APT_PACKAGES="$APT_PACKAGES libxcb-res0-dev"
APT_PACKAGES="$APT_PACKAGES libxcb-keysyms1-dev libxcb-xkb-dev libxcb-record0-dev"

## required by mesa
APT_PACKAGES="$APT_PACKAGES python3-setuptools python3-mako"
APT_PACKAGES="$APT_PACKAGES python3-setuptools python3-mako libxcb-dri3-dev"

## required by some packages to install additional python packages
APT_PACKAGES="$APT_PACKAGES python3-pip python3-venv"
Expand Down Expand Up @@ -91,7 +91,7 @@ APT_PACKAGES="$APT_PACKAGES haskell-stack"
## required by boringssl
APT_PACKAGES="$APT_PACKAGES golang-go"

## required by libdecor
## required by libdecor and mesa
APT_PACKAGES="$APT_PACKAGES wayland-protocols"

## CUDA
Expand Down
8 changes: 5 additions & 3 deletions scripts/azure-pipelines/patch-tuesday-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
(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
Expand All @@ -24,10 +28,8 @@
* [ ] 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
* CPP_GITHUB\vcpkg-image-minting\PrWinWus3
* 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 -KeyNumber N`, where N is whether the month is even
Expand Down
4 changes: 1 addition & 3 deletions scripts/azure-pipelines/roll-sas-tokens.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@ Param(
$keyName = "key$KeyNumber"

# Asset Cache:
New-AzStorageAccountKey -ResourceGroupName vcpkg-asset-cache -StorageAccountName vcpkgassetcacheeastasia -KeyName $keyName
New-AzStorageAccountKey -ResourceGroupName vcpkg-asset-cache -StorageAccountName vcpkgassetcachewus3 -KeyName $keyName

# Binary Cache:
New-AzStorageAccountKey -ResourceGroupName vcpkg-binary-cache -StorageAccountName vcpkgbinarycache -KeyName $keyName
New-AzStorageAccountKey -ResourceGroupName vcpkg-binary-cache -StorageAccountName vcpkgbinarycacheeastasia -KeyName $keyName
New-AzStorageAccountKey -ResourceGroupName vcpkg-binary-cache -StorageAccountName vcpkgbinarycachewus3 -KeyName $keyName
9 changes: 8 additions & 1 deletion scripts/azure-pipelines/windows/create-vmss.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,18 @@ $Vmss = Set-AzVmssBootDiagnostic `
-VirtualMachineScaleSet $Vmss `
-Enabled $false

New-AzVmss `
$VmssCreated = New-AzVmss `
-ResourceGroupName $ResourceGroupName `
-Name $VmssName `
-VirtualMachineScaleSet $Vmss

# Grant 'Virtual Machine Contributor' (RoleDefinitionId 9980e02c-c2be-4d73-94e8-173b1dc7cf3c) to
# 'dev-azure-com-vcpkg-scale-set-management' (ObjectId e4fe677f-f905-4f3c-b5c3-d8a2d6812a5b)
New-AzRoleAssignment `
-Scope $VmssCreated.Id `
-RoleDefinitionId '9980e02c-c2be-4d73-94e8-173b1dc7cf3c' `
-ObjectId 'e4fe677f-f905-4f3c-b5c3-d8a2d6812a5b'

Write-Host "Location: $Location"
Write-Host "Resource group name: $ResourceGroupName"
Write-Host 'Finished!'
2 changes: 1 addition & 1 deletion scripts/azure-pipelines/windows/deploy-visual-studio.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

# REPLACE WITH UTILITY-PREFIX.ps1

$VisualStudioBootstrapperUrl = 'https://aka.ms/vs/17/release/vs_enterprise.exe'
$VisualStudioBootstrapperUrl = 'https://download.visualstudio.microsoft.com/download/pr/03aef663-a3da-4cdd-ac33-9ff2935267ba/d08ca31938fde015b2fec26b18149cfd21a99b69309ac2726c00658d67e7ed4c/vs_Enterprise.exe'
$Workloads = @(
'Microsoft.VisualStudio.Workload.NativeDesktop',
'Microsoft.VisualStudio.Workload.Universal',
Expand Down
4 changes: 1 addition & 3 deletions scripts/ci.baseline.txt
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ catch-classic:x64-windows = skip
catch-classic:x64-windows-static = skip
catch-classic:x64-windows-static-md=skip
catch-classic:x86-windows = skip
cairo:arm64-android=fail
cctag:x64-windows-static-md=fail
cello:arm64-uwp=fail
cello:x64-uwp=fail
Expand Down Expand Up @@ -429,8 +430,6 @@ hexl:x64-android=fail
highs:arm-neon-android=fail
highs:arm64-android=fail
highs:x64-android=fail
hpx:x64-windows-static=fail
hpx:arm64-windows=fail
hwloc:arm-neon-android=fail
hwloc:arm64-android=fail
hwloc:x64-android=fail
Expand Down Expand Up @@ -882,7 +881,6 @@ pcl:arm-neon-android=fail
pcl:arm64-android=fail
pcl:x64-android=fail
pixman:arm-neon-android=fail
pixman:arm64-android=fail
platform-folders:arm64-uwp=fail
platform-folders:x64-uwp=fail
plib:arm-neon-android=fail
Expand Down
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -3386,7 +3386,7 @@
},
"hpx": {
"baseline": "1.9.1",
"port-version": 0
"port-version": 1
},
"http-parser": {
"baseline": "2.9.4",
Expand Down
5 changes: 5 additions & 0 deletions versions/h-/hpx.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "f2a5820cd03a2049446ae18d5e98f99ae6eb7fa7",
"version": "1.9.1",
"port-version": 1
},
{
"git-tree": "94d5f165d483752d4b7996bd1414497c5299208f",
"version": "1.9.1",
Expand Down

0 comments on commit ba1465e

Please sign in to comment.