@@ -21,11 +21,33 @@ jobs:
2121 steps :
2222 - uses : actions/checkout@v4
2323
24- - name : Set up Swift
24+ - name : Set up Swift (Linux)
25+ if : runner.os != 'macOS'
2526 uses : swift-actions/setup-swift@v2
2627 with :
2728 swift-version : ${{ matrix.swift }}
2829
30+ - name : Resolve Swift version
31+ id : swift-version
32+ run : |
33+ set -euo pipefail
34+ if [ "${RUNNER_OS}" = "macOS" ]; then
35+ SWIFT_BIN="$(xcrun -f swift)"
36+ else
37+ SWIFT_BIN="swift"
38+ fi
39+ SWIFT_VERSION="$("${SWIFT_BIN}" --version | head -n 1 | awk '{print $4}')"
40+ echo "version=${SWIFT_VERSION}" >> "${GITHUB_OUTPUT}"
41+ echo "Swift version: ${SWIFT_VERSION}"
42+
43+ - name : Cache SwiftPM
44+ uses : actions/cache@v4
45+ with :
46+ path : |
47+ .build
48+ ~/.swiftpm
49+ key : swiftpm-${{ runner.os }}-swift-${{ steps.swift-version.outputs.version }}-release-${{ hashFiles('Package.resolved', 'Package.swift') }}
50+
2951 - name : Build and test
3052 env :
3153 CHROMA_PERF_BASELINE_SECONDS : " 10"
@@ -37,10 +59,22 @@ jobs:
3759 steps :
3860 - uses : actions/checkout@v4
3961
40- - name : Set up Swift
41- uses : swift-actions/setup-swift@v2
62+ - name : Resolve Swift version
63+ id : swift-version
64+ run : |
65+ set -euo pipefail
66+ SWIFT_BIN="$(xcrun -f swift)"
67+ SWIFT_VERSION="$("${SWIFT_BIN}" --version | head -n 1 | awk '{print $4}')"
68+ echo "version=${SWIFT_VERSION}" >> "${GITHUB_OUTPUT}"
69+ echo "Swift version: ${SWIFT_VERSION}"
70+
71+ - name : Cache SwiftPM
72+ uses : actions/cache@v4
4273 with :
43- swift-version : " 6.0"
74+ path : |
75+ .build
76+ ~/.swiftpm
77+ key : swiftpm-${{ runner.os }}-swift-${{ steps.swift-version.outputs.version }}-release-${{ hashFiles('Package.resolved', 'Package.swift') }}
4478
4579 - name : Install jemalloc
4680 env :
0 commit comments