Skip to content

Commit 799a8e5

Browse files
committed
ci: cache swift-format
1 parent eeb871e commit 799a8e5

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

.github/workflows/swift-format-check.yml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,27 @@ jobs:
3333
- name: 🛠️ Setup Swift
3434
uses: swift-actions/setup-swift@v2
3535

36+
- name: Cache Swift Format
37+
uses: actions/cache@v4
38+
with:
39+
path: ~/.cache/swift-format
40+
key: swift-format-${{ runner.os }}-${{ env.SWIFT_FORMAT_VERSION }}
41+
3642
- name: 📦 Install Swift Format
3743
run: |
38-
git clone --branch $SWIFT_FORMAT_VERSION --depth 1 https://github.com/swiftlang/swift-format.git
39-
cd swift-format
40-
swift build -c release
41-
sudo mv .build/release/swift-format /usr/local/bin/
44+
if [ -f ~/.cache/swift-format ]; then
45+
echo "Using the cached Swift Format."
46+
sudo cp -f ~/.cache/swift-format /usr/local/bin/swift-format
47+
else
48+
echo "Swift Format is not cached, building and installing..."
49+
git clone --branch $SWIFT_FORMAT_VERSION --depth 1 https://github.com/swiftlang/swift-format.git
50+
cd swift-format
51+
swift build --disable-sandbox -c release
52+
sudo cp -f .build/release/swift-format /usr/local/bin/
53+
54+
echo "Caching the built swift-format"
55+
cp -f .build/release/swift-format ~/.cache/swift-format
56+
fi
4257
4358
- name: 🔍 Verify Swift Format installation
4459
run: swift-format --version

0 commit comments

Comments
 (0)