diff --git a/.github/workflows/build-sample.yml b/.github/workflows/build-sample.yml index ed077c6a..ffe8a620 100644 --- a/.github/workflows/build-sample.yml +++ b/.github/workflows/build-sample.yml @@ -42,6 +42,14 @@ jobs: with: xcode-version: latest-stable + - name: Ensure the Platform is Downloaded + if: ${{ matrix.platform != 'macOS' }} + run: | + xcodebuild -runFirstLaunch + xcrun simctl list + xcodebuild -downloadPlatform ${{ matrix.platform }} + xcodebuild -runFirstLaunch + - name: Install Tuist run: | brew tap tuist/tuist diff --git a/.github/workflows/cocoapods-lint.yml b/.github/workflows/cocoapods-lint.yml index 0529a920..2ca5fe35 100644 --- a/.github/workflows/cocoapods-lint.yml +++ b/.github/workflows/cocoapods-lint.yml @@ -61,6 +61,14 @@ jobs: with: xcode-version: latest-stable + - name: Ensure the Platform is Downloaded + if: ${{ matrix.platform != 'macOS' }} + run: | + xcodebuild -runFirstLaunch + xcrun simctl list + xcodebuild -downloadPlatform ${{ matrix.platform }} + xcodebuild -runFirstLaunch + - name: Lint Podspec id: lint run: | diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 56cc61b0..a7b98fd4 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -28,7 +28,8 @@ jobs: # iOS integration tests are too flaky and are temporary excluded # - platform: iOS - platform: macOS - - platform: tvOS + # tvOS integration tests became flaky after Xcode 16.2 + # - platform: tvOS - platform: watchOS steps: - name: Checkout Code @@ -39,6 +40,14 @@ jobs: with: xcode-version: latest-stable + - name: Ensure the Platform is Downloaded + if: ${{ matrix.platform != 'macOS' }} + run: | + xcodebuild -runFirstLaunch + xcrun simctl list + xcodebuild -downloadPlatform ${{ matrix.platform }} + xcodebuild -runFirstLaunch + - name: Install Tuist run: | brew tap tuist/tuist diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b87db9bc..f97f3c1f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,14 +27,15 @@ jobs: with: xcode-version: latest-stable - - name: Install visionOS Platform - shell: bash + - name: Ensure Platforms are Downloaded run: | - # See https://github.com/actions/runner-images/issues/10692#issuecomment-2377521050 xcodebuild -runFirstLaunch xcrun simctl list - xcodebuild -downloadPlatform visionOS - xcodebuild -runFirstLaunch + for platform in iOS watchOS tvOS visionOS; do + echo "Downloading $platform platform..." + xcodebuild -downloadPlatform $platform + xcodebuild -runFirstLaunch + done - name: Update version in podspec run: sed -i '' 's/s.version = "[^"]*"/s.version = "${{ github.event.inputs.version }}"/' KSCrash.podspec diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index e4c0b0f8..45a793d6 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -70,6 +70,14 @@ jobs: with: xcode-version: ${{ matrix.xcode-version || 'latest-stable' }} + - name: Ensure the Platform is Downloaded + if: ${{ matrix.platform != 'macOS' && matrix.platform != 'mac-catalyst' }} + run: | + xcodebuild -runFirstLaunch + xcrun simctl list + xcodebuild -downloadPlatform ${{ matrix.platform }} + xcodebuild -runFirstLaunch + - name: Run Unit Tests uses: mxcl/xcodebuild@v3 timeout-minutes: 15