diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c9139a6..b39c889 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,33 +36,24 @@ jobs: - name: Generate Xcode project run: xcodegen generate - - name: Build (${{ matrix.configuration }}, iOS Simulator) + # Device SDK, signing disabled: CoreSimulator on the runner Mac is unreliable + # (Xcode on an external volume can't discover simulator runtimes and hangs). + # Compilation coverage is identical; no tests run on simulator yet anyway. + - name: Build (${{ matrix.configuration }}, iOS device SDK) run: | set -o pipefail xcodebuild \ -project Jarvis.xcodeproj \ -scheme Jarvis \ -configuration ${{ matrix.configuration }} \ - -sdk iphonesimulator \ - -destination 'generic/platform=iOS Simulator' \ + -sdk iphoneos \ + -destination 'generic/platform=iOS' \ -derivedDataPath build \ + COMPILATION_CACHE_ENABLE_CACHING=NO \ CODE_SIGNING_ALLOWED=NO \ CODE_SIGNING_REQUIRED=NO \ build - # Compiles the test bundle. No test targets exist yet (see docs/BACKLOG.md #13). - # Replace with `xcodebuild test` once a JarvisTests target is added to project.yml. - - name: Build for Testing (Debug) - if: matrix.configuration == 'Debug' - run: | - set -o pipefail - xcodebuild \ - -project Jarvis.xcodeproj \ - -scheme Jarvis \ - -configuration Debug \ - -sdk iphonesimulator \ - -destination 'platform=iOS Simulator,OS=latest,name=iPhone 16' \ - -derivedDataPath build \ - CODE_SIGNING_ALLOWED=NO \ - CODE_SIGNING_REQUIRED=NO \ - build-for-testing + # No test targets exist yet (see docs/BACKLOG.md #13). When a JarvisTests + # target is added, switch this to `xcodebuild test` on a simulator — after + # fixing CoreSimulator on the runner (Xcode must live on the boot volume).