9f094b4aa8
The Qt cache hit every run yet qtbase was still compiled from source (~32 min) each time. Two root causes: 1. The cache path included vcpkg\installed, but the build runs `gradlew clean` which deletes native/build/vcpkg_installed (the manifest-mode install dir). vcpkg restores packages from the file-backed binary cache (vcpkg-archives), which is the only thing that lets it skip a rebuild — and it restored 0 packages. 2. vcpkg-archives was never persisted across runs: the cache key was static (hash of vcpkg.json, which rarely changes), and actions/cache never overwrites an existing key. So every run got a cache hit on restore (empty archives), rebuilt qtbase, repopulated vcpkg-archives, then hit "cache hit, not saving" at Post — throwing the rebuilt archive away. Infinite rebuild loop. Fix: cache only vcpkg-archives (drop the ~1.2 GB dead vcpkg\installed), and rotate the key with github.run_id so Post always saves a fresh entry, with layered restore-keys to warm-start from the newest prior archive. The next build still primes the archive once (~32 min); subsequent builds restore qtbase and finish in minutes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>