ci(loader): pin vcpkg baseline so the Qt cache stops missing
The vcpkg install was cloned at a floating HEAD while native/vcpkg.json carried no builtin-baseline, so every run resolved the qtbase port afresh. Its package ABI drifted whenever upstream vcpkg moved, the restored actions/cache entry no longer matched, and qtbase was rebuilt from source (~31 min) on every push. Because the cache key is static (hash of vcpkg.json, unchanged since 05-23) the rebuilt tree was never saved back either, so the miss repeated forever. Pin both sides to vcpkg tag 2026.05.25 (d015e31e90838a4c9dfa3eed45979bc70d9357fc, qtbase 6.11.0): - native/vcpkg.json: add "builtin-baseline" - workflow: clone --branch 2026.05.25 Adding the baseline also changes the vcpkg.json hash, so this run gets a fresh cache key, cold-builds Qt once, and saves it; subsequent runs match the now-deterministic ABI and skip the qtbase build entirely. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -88,11 +88,19 @@ jobs:
|
|||||||
- name: Clone & bootstrap vcpkg
|
- name: Clone & bootstrap vcpkg
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: |
|
run: |
|
||||||
|
# Pin vcpkg to the SAME commit as native/vcpkg.json's
|
||||||
|
# "builtin-baseline". A floating HEAD clone made the qtbase port
|
||||||
|
# (and thus its package ABI) drift every time upstream vcpkg moved,
|
||||||
|
# so the restored Qt cache never matched and qtbase was rebuilt
|
||||||
|
# from source (~31 min) on every run. Tag 2026.05.25 ==
|
||||||
|
# d015e31e90838a4c9dfa3eed45979bc70d9357fc and ships qtbase 6.11.0.
|
||||||
|
# Keep this tag and the builtin-baseline in vcpkg.json in lockstep.
|
||||||
|
$vcpkgTag = '2026.05.25'
|
||||||
$vcpkg = Join-Path $env:GITHUB_WORKSPACE 'vcpkg'
|
$vcpkg = Join-Path $env:GITHUB_WORKSPACE 'vcpkg'
|
||||||
if (Test-Path $vcpkg) {
|
if (Test-Path $vcpkg) {
|
||||||
Write-Host "Reusing existing $vcpkg"
|
Write-Host "Reusing existing $vcpkg"
|
||||||
} else {
|
} else {
|
||||||
git clone --depth=1 https://github.com/microsoft/vcpkg.git $vcpkg
|
git clone --depth=1 --branch $vcpkgTag https://github.com/microsoft/vcpkg.git $vcpkg
|
||||||
}
|
}
|
||||||
& "$vcpkg\bootstrap-vcpkg.bat" -disableMetrics
|
& "$vcpkg\bootstrap-vcpkg.bat" -disableMetrics
|
||||||
& "$vcpkg\vcpkg.exe" version
|
& "$vcpkg\vcpkg.exe" version
|
||||||
|
|||||||
+2
-1
@@ -9,5 +9,6 @@
|
|||||||
"default-features": false,
|
"default-features": false,
|
||||||
"features": [ "widgets" ]
|
"features": [ "widgets" ]
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"builtin-baseline": "d015e31e90838a4c9dfa3eed45979bc70d9357fc"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user