Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 5 additions & 22 deletions .github/workflows/test-ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ on:
- r2
- warp
seed_cache:
description: "On main only, save the iOS SwiftPM and GhosttyKit caches after a successful run."
description: "On main only, save the iOS SwiftPM cache after a successful run."
required: false
default: false
type: boolean
Expand Down Expand Up @@ -480,14 +480,12 @@ jobs:
- name: Install zig
run: ./scripts/install-zig-ci.sh

- name: Capture Ghostty revision
id: ghostty-revision
run: echo "sha=$(git -C ghostty rev-parse HEAD)" >> "$GITHUB_OUTPUT"

- name: Prepare shared iOS cache paths
run: |
set -euo pipefail
echo "IOS_SPM_CACHE=$PWD/.ci-ios-source-packages" >> "$GITHUB_ENV"
# Not restored or saved: ensure-ghosttykit.sh unpacks and locks
# here, so a reused runner keeps nothing in ~/.cache.
echo "CMUX_GHOSTTYKIT_CACHE_DIR=$RUNNER_TEMP/cmux-ghosttykit-cache" >> "$GITHUB_ENV"

- name: Restore iOS SwiftPM cache
Expand All @@ -499,15 +497,6 @@ jobs:
restore-keys: |
ios-spm-${{ runner.os }}-${{ runner.arch }}-

- name: Restore iOS GhosttyKit cache
uses: ./.github/actions/cache-restore
with:
backend: ${{ inputs.cache_backend != 'default' && inputs.cache_backend || vars.CI_CACHE_BACKEND || 'r2' }}
path: ${{ runner.temp }}/cmux-ghosttykit-cache
key: ios-ghosttykit-${{ runner.os }}-${{ runner.arch }}-${{ steps.ghostty-revision.outputs.sha }}-${{ hashFiles('scripts/ghosttykit-checksums.txt') }}
restore-keys: |
ios-ghosttykit-${{ runner.os }}-${{ runner.arch }}-

- name: Sanitize iOS SwiftPM cache
run: python3 scripts/ci/sanitize-xcode-source-packages-cache.py "$IOS_SPM_CACHE"

Expand Down Expand Up @@ -540,6 +529,8 @@ jobs:
xcodebuild -downloadPlatform iOS
xcrun simctl list runtimes available | grep -Eq '\biOS\b'

# Not cached: the pinned prebuilt downloads and verifies in 3-4 s, about
# what an R2 restore of the unpacked xcframework would take.
- name: Provision GhosttyKit
run: |
# Downloads the prebuilt GhosttyKit.xcframework pinned in
Expand Down Expand Up @@ -702,14 +693,6 @@ jobs:
path: .ci-ios-source-packages
key: ios-spm-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('.xcode-version') }}-${{ hashFiles('ios/cmux.xcworkspace/xcshareddata/swiftpm/Package.resolved') }}

- name: Save iOS GhosttyKit cache
if: ${{ inputs.seed_cache && github.ref == 'refs/heads/main' }}
uses: ./.github/actions/cache-save
with:
backend: ${{ inputs.cache_backend != 'default' && inputs.cache_backend || vars.CI_CACHE_BACKEND || 'r2' }}
path: ${{ runner.temp }}/cmux-ghosttykit-cache
key: ios-ghosttykit-${{ runner.os }}-${{ runner.arch }}-${{ steps.ghostty-revision.outputs.sha }}-${{ hashFiles('scripts/ghosttykit-checksums.txt') }}

- name: Upload producer log
if: ${{ always() && env.IOS_DERIVED_DATA != '' }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
Expand Down
Loading