Skip to content

Commit 15f5e6d

Browse files
Merge tag '2025-11-19' into binary_caching_preserve_zips_from_cloud_storage
2 parents 16e1259 + da1f056 commit 15f5e6d

File tree

280 files changed

+12896
-8797
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

280 files changed

+12896
-8797
lines changed

.clang-format

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
BasedOnStyle: WebKit
2-
Language: Cpp
3-
Standard: Cpp11
42

53
UseTab: Never
64
IndentWidth: 4
@@ -75,3 +73,8 @@ IncludeCategories:
7573
Priority: 6
7674
- Regex: '^<[a-z0-9_]*>$' # C++ standard library
7775
Priority: 7
76+
77+
---
78+
79+
Language: Cpp
80+
Standard: c++17

.config/1espt/PipelineAutobaseliningConfig.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,30 @@ pipelines:
1212
lastModifiedDate: 2024-08-28
1313
armory:
1414
lastModifiedDate: 2024-08-28
15+
binary:
16+
credscan:
17+
lastModifiedDate: 2025-01-29
18+
binskim:
19+
lastModifiedDate: 2025-01-29
20+
spotbugs:
21+
lastModifiedDate: 2025-01-29
22+
15684:
23+
retail:
24+
source:
25+
credscan:
26+
lastModifiedDate: 2025-01-14
27+
eslint:
28+
lastModifiedDate: 2025-01-14
29+
psscriptanalyzer:
30+
lastModifiedDate: 2025-01-14
31+
armory:
32+
lastModifiedDate: 2025-01-14
33+
accessibilityinsights:
34+
lastModifiedDate: 2025-06-04
35+
binary:
36+
credscan:
37+
lastModifiedDate: 2025-01-28
38+
binskim:
39+
lastModifiedDate: 2025-01-28
40+
spotbugs:
41+
lastModifiedDate: 2025-01-28

.devcontainer/Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
FROM mcr.microsoft.com/devcontainers/base:ubuntu-22.04
1+
FROM mcr.microsoft.com/devcontainers/base:ubuntu-24.04
22

3-
ADD https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb /packages-microsoft-prod.deb
4-
ADD https://deb.nodesource.com/setup_20.x /nodesource_setup.sh
3+
ADD https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb /packages-microsoft-prod.deb
4+
ADD https://deb.nodesource.com/setup_24.x /nodesource_setup.sh
55

66
ENV APT_PACKAGES="git curl zip unzip tar build-essential cmake ninja-build powershell nodejs mono-complete"
77

.github/workflows/build.yaml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- uses: actions/checkout@v4
2727
- uses: actions/setup-node@v4
2828
with:
29-
node-version: "18.x"
29+
node-version: "24.x"
3030
cache: 'npm'
3131
cache-dependency-path: vcpkg-artifacts/package-lock.json
3232
- name: Enable Problem Matchers
@@ -56,12 +56,8 @@ jobs:
5656
- name: '[CI Only] Perform CodeQL Analysis'
5757
if: inputs.codeql && matrix.preset != 'linux-arm64-ci'
5858
uses: github/codeql-action/analyze@v3
59-
- name: Run vcpkg unit tests
59+
- name: Run vcpkg and vcpkg-artifacts unit tests
6060
run: ctest --preset ${{ matrix.preset }} --output-on-failure 2>&1
61-
- name: Run vcpkg-artifacts unit tests
62-
run: |
63-
cd out/build/${{ matrix.preset }}/vcpkg-artifacts
64-
node node_modules/mocha/bin/mocha --config mocha-config.yaml
6561
- name: Get microsoft/vcpkg pinned sha into VCPKG_SHA
6662
id: vcpkg_sha
6763
shell: pwsh

.github/workflows/pr.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
- uses: actions/checkout@v4
2222
- uses: actions/setup-node@v4
2323
with:
24-
node-version: "18.x"
24+
node-version: "24.x"
2525
cache: 'npm'
2626
cache-dependency-path: vcpkg-artifacts/package-lock.json
2727
- uses: lukka/[email protected]

.vscode/launch.json

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,21 @@
44
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
55
"version": "0.2.0",
66
"configurations": [
7+
{
8+
"name": "vcpkg linux debug",
9+
"type": "cppdbg",
10+
"request": "launch",
11+
"environment": [
12+
{
13+
"name": "VCPKG_ROOT",
14+
"value": "/vcpkg"
15+
}
16+
],
17+
"program": "${workspaceRoot}/out/build/linux-debug/vcpkg",
18+
"cwd": "${workspaceRoot}/out/build/linux-debug",
19+
"args": [
20+
]
21+
},
722
{
823
"name": "vcpkg-ce cli",
924
"request": "launch",
@@ -20,7 +35,7 @@
2035
},
2136
{
2237
"name": "MochaTest",
23-
"type": "pwa-node",
38+
"type": "node",
2439
"request": "attach",
2540
"port": 9229,
2641
"continueOnAttach": true,

CMakeLists.txt

Lines changed: 35 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,11 @@ if(MSVC)
9898
# either MSVC, or clang-cl
9999
string(APPEND CMAKE_C_FLAGS " -FC -permissive- -utf-8 /guard:cf")
100100
string(APPEND CMAKE_CXX_FLAGS " /EHsc -FC -permissive- -utf-8 /guard:cf")
101-
string(APPEND CMAKE_C_FLAGS_RELEASE " /Zi")
102-
string(APPEND CMAKE_CXX_FLAGS_RELEASE " /Zi")
101+
string(APPEND CMAKE_C_FLAGS_RELEASE " /Zi /GL")
102+
string(APPEND CMAKE_CXX_FLAGS_RELEASE " /Zi /GL")
103103

104-
string(APPEND CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO " /DEBUG /INCREMENTAL:NO /debugtype:cv,fixup /guard:cf")
105-
string(APPEND CMAKE_EXE_LINKER_FLAGS_RELEASE " /DEBUG /INCREMENTAL:NO /debugtype:cv,fixup /guard:cf")
104+
string(APPEND CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO " /DEBUG /INCREMENTAL:NO /debugtype:cv,fixup /guard:cf /OPT:REF /OPT:ICF /LTCG")
105+
string(APPEND CMAKE_EXE_LINKER_FLAGS_RELEASE " /DEBUG /INCREMENTAL:NO /debugtype:cv,fixup /guard:cf /OPT:REF /OPT:ICF /LTCG")
106106
if (MSVC_CXX_ARCHITECTURE_ID STREQUAL "x64")
107107
string(APPEND CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO " /CETCOMPAT")
108108
string(APPEND CMAKE_EXE_LINKER_FLAGS_RELEASE " /CETCOMPAT")
@@ -237,9 +237,16 @@ elseif(VCPKG_OFFICIAL_BUILD)
237237
message(FATAL_ERROR "VCPKG_STANDALONE_BUNDLE_SHA is required for official builds.")
238238
endif()
239239

240+
if(VCPKG_ARTIFACTS_SHA)
241+
target_compile_definitions(vcpkglib PUBLIC
242+
"VCPKG_ARTIFACTS_SHA=${VCPKG_ARTIFACTS_SHA}"
243+
)
244+
elseif(VCPKG_OFFICIAL_BUILD)
245+
message(FATAL_ERROR "VCPKG_ARTIFACTS_SHA is required for official builds.")
246+
endif()
247+
240248
file(TO_CMAKE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg-artifacts" VCPKG_ARTIFACTS_SOURCE_DIR)
241249
if (VCPKG_ARTIFACTS_DEVELOPMENT)
242-
file(TO_CMAKE_PATH "${CMAKE_CURRENT_BINARY_DIR}/vcpkg-artifacts" VCPKG_ARTIFACTS_BINARY_DIR)
243250
# The directory constructed by this portion of the build script needs to be kept in sync with
244251
# that created by azure-pipelines/signing.yml
245252

@@ -258,7 +265,7 @@ if (VCPKG_ARTIFACTS_DEVELOPMENT)
258265
add_custom_command(
259266
OUTPUT
260267
"${VCPKG_ARTIFACTS_SOURCE_DIR}/node_modules"
261-
COMMAND "${NPM}" ARGS "ci"
268+
COMMAND "${NPM}" ARGS "ci" "--include=dev"
262269
WORKING_DIRECTORY
263270
"${VCPKG_ARTIFACTS_SOURCE_DIR}"
264271
COMMENT
@@ -301,9 +308,8 @@ if (VCPKG_ARTIFACTS_DEVELOPMENT)
301308
set(VCPKG_ARTIFACTS_SOURCES ${VCPKG_ARTIFACTS_ROOT_SOURCES} ${VCPKG_ARTIFACTS_NESTED_SOURCES})
302309
list(TRANSFORM VCPKG_ARTIFACTS_SOURCES PREPEND "${VCPKG_ARTIFACTS_SOURCE_DIR}/")
303310

304-
set(VCPKG_ARTIFACTS_BINARIES ${VCPKG_ARTIFACTS_ROOT_SOURCES} ${VCPKG_ARTIFACTS_NESTED_SOURCES})
305-
list(TRANSFORM VCPKG_ARTIFACTS_BINARIES PREPEND "${VCPKG_ARTIFACTS_BINARY_DIR}/")
306-
list(TRANSFORM VCPKG_ARTIFACTS_BINARIES REPLACE "\\.ts" ".js")
311+
set(VCPKG_ARTIFACTS_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/vcpkg-artifacts-build")
312+
set(VCPKG_ARTIFACTS_BINARY "${CMAKE_CURRENT_BINARY_DIR}/vcpkg-artifacts.mjs")
307313
add_custom_command(
308314
OUTPUT "${VCPKG_ARTIFACTS_SOURCE_DIR}/locales/messages.json"
309315
COMMAND "${NODEJS}" ARGS "${VCPKG_ARTIFACTS_SOURCE_DIR}/node_modules/translate-strings/dist/main.js" "." "--json"
@@ -317,74 +323,30 @@ if (VCPKG_ARTIFACTS_DEVELOPMENT)
317323

318324
add_custom_command(
319325
OUTPUT
320-
${VCPKG_ARTIFACTS_BINARIES}
321-
"${VCPKG_ARTIFACTS_BINARY_DIR}/package.json"
322-
"${VCPKG_ARTIFACTS_BINARY_DIR}/package-lock.json"
323-
"${VCPKG_ARTIFACTS_BINARY_DIR}/.npmrc"
324-
"${VCPKG_ARTIFACTS_BINARY_DIR}/mocha-config.yaml"
325-
"${VCPKG_ARTIFACTS_BINARY_DIR}/locales/messages.json"
326-
"${VCPKG_ARTIFACTS_BINARY_DIR}/artifacts-development.txt"
327-
COMMAND
328-
"${CMAKE_COMMAND}" ARGS -E rm -rf "${VCPKG_ARTIFACTS_BINARY_DIR}"
329-
COMMAND
330-
"${CMAKE_COMMAND}" ARGS -E make_directory "${VCPKG_ARTIFACTS_BINARY_DIR}"
331-
COMMAND
332-
"${CMAKE_COMMAND}" ARGS -E make_directory "${VCPKG_ARTIFACTS_BINARY_DIR}/locales"
333-
COMMAND
334-
"${CMAKE_COMMAND}" ARGS -E copy_directory
335-
"${VCPKG_ARTIFACTS_SOURCE_DIR}/node_modules"
336-
"${VCPKG_ARTIFACTS_BINARY_DIR}/node_modules"
337-
COMMAND
338-
"${CMAKE_COMMAND}" ARGS -E copy_directory
339-
"${VCPKG_ARTIFACTS_SOURCE_DIR}/test-resources"
340-
"${VCPKG_ARTIFACTS_BINARY_DIR}/test-resources"
341-
# Files are after directories for more accurate cmake tracking of interrupted runs
342-
COMMAND
343-
"${CMAKE_COMMAND}" ARGS -E copy
344-
"${VCPKG_ARTIFACTS_SOURCE_DIR}/package.json"
345-
"${VCPKG_ARTIFACTS_SOURCE_DIR}/package-lock.json"
346-
"${VCPKG_ARTIFACTS_SOURCE_DIR}/.npmrc"
347-
"${VCPKG_ARTIFACTS_SOURCE_DIR}/mocha-config.yaml"
348-
"${VCPKG_ARTIFACTS_BINARY_DIR}"
349-
COMMAND
350-
"${CMAKE_COMMAND}" ARGS -E copy
351-
"${VCPKG_ARTIFACTS_SOURCE_DIR}/locales/messages.json"
352-
"${VCPKG_ARTIFACTS_BINARY_DIR}/locales/messages.json"
326+
${VCPKG_ARTIFACTS_BINARY}
353327
COMMAND
354-
"${NODEJS}" ARGS "${VCPKG_ARTIFACTS_SOURCE_DIR}/node_modules/typescript/bin/tsc"
355-
-p "${VCPKG_ARTIFACTS_SOURCE_DIR}"
356-
--outDir "${VCPKG_ARTIFACTS_BINARY_DIR}"
328+
"${NODEJS}" ARGS "${VCPKG_ARTIFACTS_SOURCE_DIR}/node_modules/@vercel/ncc/dist/ncc/cli.js"
329+
build "main.ts"
330+
--out "${VCPKG_ARTIFACTS_BUILD_DIR}"
357331
COMMAND
358-
"${CMAKE_COMMAND}" ARGS -E touch
359-
"${VCPKG_ARTIFACTS_BINARY_DIR}/artifacts-development.txt"
332+
"${CMAKE_COMMAND}" ARGS -E copy "${VCPKG_ARTIFACTS_BUILD_DIR}/index.js" "${VCPKG_ARTIFACTS_BINARY}"
333+
WORKING_DIRECTORY
334+
"${VCPKG_ARTIFACTS_SOURCE_DIR}"
360335
DEPENDS
336+
npm-restore
361337
${VCPKG_ARTIFACTS_SOURCES}
362338
"${VCPKG_ARTIFACTS_SOURCE_DIR}/tsconfig.json"
363339
"${VCPKG_ARTIFACTS_SOURCE_DIR}/package.json"
364340
"${VCPKG_ARTIFACTS_SOURCE_DIR}/package-lock.json"
365341
"${VCPKG_ARTIFACTS_SOURCE_DIR}/.npmrc"
366-
"${VCPKG_ARTIFACTS_SOURCE_DIR}/mocha-config.yaml"
342+
"${VCPKG_ARTIFACTS_SOURCE_DIR}/.mocharc.json"
367343
"${VCPKG_ARTIFACTS_SOURCE_DIR}/locales/messages.json"
368344
COMMENT
369345
"Building vcpkg-artifacts..."
370346
VERBATIM
371347
)
372348

373-
add_custom_target(vcpkg-artifacts-target
374-
ALL
375-
DEPENDS
376-
${VCPKG_ARTIFACTS_BINARIES}
377-
"${VCPKG_ARTIFACTS_BINARY_DIR}/package.json"
378-
"${VCPKG_ARTIFACTS_BINARY_DIR}/package-lock.json"
379-
"${VCPKG_ARTIFACTS_BINARY_DIR}/.npmrc"
380-
"${VCPKG_ARTIFACTS_BINARY_DIR}/mocha-config.yaml"
381-
"${VCPKG_ARTIFACTS_BINARY_DIR}/locales/messages.json"
382-
"${VCPKG_ARTIFACTS_BINARY_DIR}/artifacts-development.txt"
383-
npm-restore
384-
)
385-
set_target_properties(vcpkg-artifacts-target
386-
PROPERTIES
387-
ADDITIONAL_CLEAN_FILES "${VCPKG_ARTIFACTS_BINARY_DIR}")
349+
add_custom_target(vcpkg-artifacts-target ALL DEPENDS "${VCPKG_ARTIFACTS_BINARY}")
388350
endif()
389351

390352
set(CPP_ATOMIC_LIBRARY "")
@@ -431,6 +393,10 @@ elseif(NOT MSVC)
431393
target_compile_options(vcpkglib PRIVATE -include "${CMAKE_CURRENT_SOURCE_DIR}/include/pch.h")
432394
endif()
433395

396+
if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
397+
target_link_libraries(vcpkglib PRIVATE socket)
398+
endif()
399+
434400
if(ANDROID AND CMAKE_SYSTEM_VERSION LESS "28")
435401
# pkg install libandroid-spawn
436402
target_link_libraries(vcpkglib PRIVATE android-spawn)
@@ -462,7 +428,7 @@ add_custom_target(vcpkg-ps1 ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/vcpkg-shell
462428
# === Target: vcpkg ===
463429

464430
add_executable(vcpkg ${VCPKG_SOURCES} "${CMAKE_CURRENT_SOURCE_DIR}/src/vcpkg.manifest")
465-
target_link_libraries(vcpkg PRIVATE vcpkglib)
431+
target_link_libraries(vcpkg PRIVATE vcpkglib ${CMAKE_DL_LIBS})
466432

467433
if(VCPKG_ADD_SOURCELINK)
468434
if(VCPKG_VERSION STREQUAL "unknownhash")
@@ -514,11 +480,13 @@ if (BUILD_TESTING)
514480
target_compile_options(vcpkg-test PRIVATE -include "${CMAKE_CURRENT_SOURCE_DIR}/include/pch.h")
515481
endif()
516482

517-
add_test(NAME default COMMAND "${CMAKE_COMMAND}" -E env LC_ALL=C "$<TARGET_FILE:vcpkg-test>" --order rand --rng-seed time)
518-
519-
if (VCPKG_BUILD_BENCHMARKING)
483+
add_test(NAME vcpkg-test COMMAND "${CMAKE_COMMAND}" -E env LC_ALL=C "$<TARGET_FILE:vcpkg-test>" --order rand --rng-seed time)
484+
if(VCPKG_BUILD_BENCHMARKING)
520485
target_compile_options(vcpkg-test PRIVATE -DCATCH_CONFIG_ENABLE_BENCHMARKING)
521486
endif()
487+
if(VCPKG_ARTIFACTS_DEVELOPMENT)
488+
add_test(NAME artifacts COMMAND "${NODEJS}" "${VCPKG_ARTIFACTS_SOURCE_DIR}/node_modules/mocha/bin/mocha.js" "--import=tsx" WORKING_DIRECTORY "${VCPKG_ARTIFACTS_SOURCE_DIR}")
489+
endif()
522490
endif()
523491

524492
# === Target: vcpkg-fuzz ===

CMakePresets.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,17 @@
135135
"artifacts"
136136
]
137137
},
138+
{
139+
"name": "linux-debug",
140+
"inherits": [
141+
"base",
142+
"debug",
143+
"linux"
144+
],
145+
"cacheVariables": {
146+
"VCPKG_WARNINGS_AS_ERRORS": true
147+
}
148+
},
138149
{
139150
"name": "linux-ci",
140151
"inherits": [
@@ -217,6 +228,10 @@
217228
"name": "windows-ci",
218229
"configurePreset": "windows-ci"
219230
},
231+
{
232+
"name": "linux-debug",
233+
"configurePreset": "linux-debug"
234+
},
220235
{
221236
"name": "linux-ci",
222237
"configurePreset": "linux-ci"
@@ -239,6 +254,10 @@
239254
"name": "windows-ci",
240255
"configurePreset": "windows-ci"
241256
},
257+
{
258+
"name": "linux-debug",
259+
"configurePreset": "linux-debug"
260+
},
242261
{
243262
"name": "linux-ci",
244263
"configurePreset": "linux-ci"

azure-pipelines/arch-independent-signing.signproj

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,9 @@
1111
</ItemGroup>
1212

1313
<ItemGroup>
14-
<FilesToSign Include="$(IntermediateOutputPath)\vcpkg-artifacts\**\*.js" Exclude="$(IntermediateOutputPath)\vcpkg-artifacts\**\node_modules\**\*.js">
14+
<FilesToSign Include="$(IntermediateOutputPath)\vcpkg-artifacts.js">
1515
<Authenticode>Microsoft400</Authenticode>
1616
</FilesToSign>
17-
<FilesToSign Include="$(IntermediateOutputPath)\vcpkg-artifacts\node_modules\**\*.js">
18-
<Authenticode>3PartyScriptsSHA2</Authenticode>
19-
</FilesToSign>
2017
<FilesToSign Include="$(IntermediateOutputPath)\vcpkg-init.ps1">
2118
<Authenticode>Microsoft400</Authenticode>
2219
</FilesToSign>

azure-pipelines/e2e-assets/ci-feature-baseline/empty-baseline.txt

Whitespace-only changes.

0 commit comments

Comments
 (0)