@@ -2278,6 +2278,30 @@ jobs:
2278
2278
ref : ${{ inputs.swift_testing_revision }}
2279
2279
path : ${{ github.workspace }}/SourceCache/swift-testing
2280
2280
show-progress : false
2281
+
2282
+ with :
2283
+ path : ${{ github.workspace }}/SourceCache/swift-build
2284
+ show-progress : false
2285
+
2286
+ - name : Compute workspace hash
2287
+ id : workspace_hash
2288
+ run : |
2289
+ $stringAsStream = [System.IO.MemoryStream]::new()
2290
+ $writer = [System.IO.StreamWriter]::new($stringAsStream)
2291
+ $writer.write("${{ github.workspace }}")
2292
+ $writer.Flush()
2293
+ $stringAsStream.Position = 0
2294
+ $hash = (Get-FileHash -Algorithm SHA256 -InputStream $stringAsStream).Hash
2295
+ echo "hash=$hash" >> $env:GITHUB_OUTPUT
2296
+
2297
+ - name : Setup sccache
2298
+ uses : ./SourceCache/swift-build/.github/actions/setup-sccache
2299
+ with :
2300
+ s3-bucket : ${{ vars.SCCACHE_S3_BUCKET }}
2301
+ aws-region : ${{ vars.SCCACHE_AWS_REGION }}
2302
+ aws-arn : ${{ vars.SCCACHE_AWS_ARN }}
2303
+ disk-max-size : 500M
2304
+ disk-cache-key : ${{ steps.workspace_hash.outputs.hash }}-${{ matrix.os }}-${{ matrix.arch }}-sdk
2281
2305
2282
2306
- name : Setup environment
2283
2307
if : matrix.os != 'Android' || inputs.build_android
@@ -2412,9 +2436,11 @@ jobs:
2412
2436
-D BUILD_SHARED_LIBS=YES `
2413
2437
-D CMAKE_BUILD_TYPE=Release `
2414
2438
-D CMAKE_C_COMPILER=${{ matrix.cc }} `
2439
+ -D CMAKE_C_COMPILER_LAUNCHER=sccache `
2415
2440
-D CMAKE_C_COMPILER_TARGET=${{ matrix.triple }} `
2416
2441
-D CMAKE_C_FLAGS="${{ matrix.cflags }}" `
2417
2442
-D CMAKE_CXX_COMPILER=${{ matrix.cxx }} `
2443
+ -D CMAKE_CXX_COMPILER_LAUNCHER=sccache `
2418
2444
-D CMAKE_CXX_COMPILER_TARGET=${{ matrix.triple }} `
2419
2445
-D CMAKE_CXX_FLAGS="${{ matrix.cxxflags }}" `
2420
2446
-D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/BuildRoot/Library/Developer/Platforms/${{ matrix.os }}.platform/Developer/SDKs/${{ matrix.os }}.sdk/usr `
@@ -2554,9 +2580,11 @@ jobs:
2554
2580
-D CMAKE_BUILD_TYPE=Release `
2555
2581
-D CMAKE_BUILD_WITH_INSTALL_RPATH=YES `
2556
2582
-D CMAKE_C_COMPILER=${{ matrix.cc }} `
2583
+ -D CMAKE_C_COMPILER_LAUNCHER=sccache `
2557
2584
-D CMAKE_C_COMPILER_TARGET=${{ matrix.triple }} `
2558
2585
-D CMAKE_C_FLAGS="${{ matrix.cflags }}" `
2559
2586
-D CMAKE_CXX_COMPILER=${{ matrix.cxx }} `
2587
+ -D CMAKE_CXX_COMPILER_LAUNCHER=sccache `
2560
2588
-D CMAKE_CXX_COMPILER_TARGET=${{ matrix.triple }} `
2561
2589
-D CMAKE_CXX_FLAGS="${{ matrix.cxxflags }}" `
2562
2590
-D CMAKE_INSTALL_BINDIR=$XCTestBinDir `
@@ -2621,6 +2649,7 @@ jobs:
2621
2649
-D CMAKE_BUILD_TYPE=Release `
2622
2650
-D CMAKE_BUILD_WITH_INSTALL_RPATH=YES `
2623
2651
-D CMAKE_CXX_COMPILER=${{ matrix.cxx }} `
2652
+ -D CMAKE_CXX_COMPILER_LAUNCHER=sccache `
2624
2653
-D CMAKE_CXX_COMPILER_TARGET=${{ matrix.triple }} `
2625
2654
-D CMAKE_CXX_FLAGS="${{ matrix.cxxflags }}" `
2626
2655
-D CMAKE_INSTALL_BINDIR=$TestingBinDir `
0 commit comments