Author: ivan
Date: Mon May 11 13:32:46 2026
New Revision: 1934099
Log:
On 1.15.x: Merge r1930901 from trunk:
Use actions/cache instead of removed x-gha cache feature for vcpkg built
binaries caching.
Justification:
Fix a broken vcpkg binary caching on GitHub Actions.
Votes:
+1: ivan (only affects GHA)
Modified:
subversion/branches/1.15.x/ (props changed)
subversion/branches/1.15.x/.github/workflows/cmake.yml
Modified: subversion/branches/1.15.x/.github/workflows/cmake.yml
==============================================================================
--- subversion/branches/1.15.x/.github/workflows/cmake.yml Mon May 11
13:26:20 2026 (r1934098)
+++ subversion/branches/1.15.x/.github/workflows/cmake.yml Mon May 11
13:32:46 2026 (r1934099)
@@ -93,7 +93,6 @@ jobs:
name: ${{ matrix.name }}
env:
- VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
CMAKE_GENERATOR: ${{ matrix.cmake_generator }}
steps:
@@ -106,22 +105,42 @@ jobs:
ls env: | foreach { "$($_.Name)=$($_.Value)" >> $env:GITHUB_ENV }
- - name: Export GitHub Actions cache environment variables
+ - name: Get vcpkg sha (Windows, vcpkg)
if: runner.os == 'Windows'
- uses: actions/github-script@v7
+ id: vcpkg-sha
+ run: |
+ cd C:\vcpkg
+ $sha = git rev-parse HEAD
+ echo "sha=$sha" >> $env:GITHUB_OUTPUT
+
+ - name: Restore vcpkg archives (Windows, vcpkg)
+ if: runner.os == 'Windows'
+ uses: actions/cache/restore@v4
with:
- script: |
- core.exportVariable('ACTIONS_CACHE_URL',
process.env.ACTIONS_CACHE_URL || '');
- core.exportVariable('ACTIONS_RUNTIME_TOKEN',
process.env.ACTIONS_RUNTIME_TOKEN || '');
+ path: vcpkg-archives
+ key: vcpkg/${{ runner.os }}/${{ matrix.vcpkg_triplet }}/${{
steps.vcpkg-sha.outputs.sha }}
+ restore-keys: vcpkg/${{ runner.os }}/${{ matrix.vcpkg_triplet }}/
- name: Install dependencies (Windows, vcpkg)
if: runner.os == 'Windows'
+ env:
+ VCPKG_DEFAULT_BINARY_CACHE: ${{ github.workspace }}\vcpkg-archives
run: |
+ if (-not (Test-Path $env:VCPKG_DEFAULT_BINARY_CACHE)) {
+ New-Item $env:VCPKG_DEFAULT_BINARY_CACHE -ItemType Directory |
Out-Null
+ }
C:\vcpkg\vcpkg.exe install --triplet ${{ matrix.vcpkg_triplet }} `
apr apr-util serf expat zlib sqlite3
"CMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" >>
$env:GITHUB_ENV
+ - name: Save vcpkg archives (Windows, vcpkg)
+ if: runner.os == 'Windows'
+ uses: actions/cache/save@v4
+ with:
+ path: vcpkg-archives
+ key: vcpkg/${{ runner.os }}/${{ matrix.vcpkg_triplet }}/${{
steps.vcpkg-sha.outputs.sha }}
+
- name: Install dependencies (Linux, apt-get)
if: runner.os == 'Linux'
run: >