From c4781b31a68ad758ce8c3cd9e0065ee353127f69 Mon Sep 17 00:00:00 2001 From: Nikolay Volosatov Date: Sat, 1 Mar 2025 11:28:41 +0000 Subject: [PATCH 1/7] Download platform in unit tests --- .github/workflows/unit-tests.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index e4c0b0f8..f3f8354f 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -70,6 +70,13 @@ jobs: with: xcode-version: ${{ matrix.xcode-version || 'latest-stable' }} + - name: Ensure the platform is downloaded + run: | + xcodebuild -runFirstLaunch + xcrun simctl list + xcodebuild -downloadPlatform ${{ matrix.platform }} + xcodebuild -runFirstLaunch + - name: Run Unit Tests uses: mxcl/xcodebuild@v3 timeout-minutes: 15 From 82ddcf656bb82a87015f059a075b80a046346037 Mon Sep 17 00:00:00 2001 From: Nikolay Volosatov Date: Sat, 1 Mar 2025 11:28:59 +0000 Subject: [PATCH 2/7] Disable other platforms in unit tests (tmp) --- .github/workflows/unit-tests.yml | 36 ++++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index f3f8354f..602565c3 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -37,30 +37,30 @@ jobs: macos-version: "13" xcode-version: "14.3.1" - - platform: watchOS - macos-version: "15" - - platform: watchOS - platform-version: ~9.4.0 - macos-version: "13" - xcode-version: "14.3.1" + # - platform: watchOS + # macos-version: "15" + # - platform: watchOS + # platform-version: ~9.4.0 + # macos-version: "13" + # xcode-version: "14.3.1" - - platform: tvOS - macos-version: "15" - - platform: tvOS - platform-version: ~16.4.0 - macos-version: "13" - xcode-version: "14.3.1" + # - platform: tvOS + # macos-version: "15" + # - platform: tvOS + # platform-version: ~16.4.0 + # macos-version: "13" + # xcode-version: "14.3.1" - platform: visionOS macos-version: "15" - - platform: macOS - - platform: macOS - macos-version: "13" + # - platform: macOS + # - platform: macOS + # macos-version: "13" - - platform: mac-catalyst - - platform: mac-catalyst - macos-version: "13" + # - platform: mac-catalyst + # - platform: mac-catalyst + # macos-version: "13" steps: - name: Checkout Code uses: actions/checkout@v4 From e43971fc64f98adb004dd8009b2bc137977c6121 Mon Sep 17 00:00:00 2001 From: Nikolay Volosatov Date: Sat, 1 Mar 2025 11:37:22 +0000 Subject: [PATCH 3/7] Revert "Disable other platforms in unit tests (tmp)" This reverts commit 82ddcf656bb82a87015f059a075b80a046346037. --- .github/workflows/unit-tests.yml | 36 ++++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 602565c3..f3f8354f 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -37,30 +37,30 @@ jobs: macos-version: "13" xcode-version: "14.3.1" - # - platform: watchOS - # macos-version: "15" - # - platform: watchOS - # platform-version: ~9.4.0 - # macos-version: "13" - # xcode-version: "14.3.1" + - platform: watchOS + macos-version: "15" + - platform: watchOS + platform-version: ~9.4.0 + macos-version: "13" + xcode-version: "14.3.1" - # - platform: tvOS - # macos-version: "15" - # - platform: tvOS - # platform-version: ~16.4.0 - # macos-version: "13" - # xcode-version: "14.3.1" + - platform: tvOS + macos-version: "15" + - platform: tvOS + platform-version: ~16.4.0 + macos-version: "13" + xcode-version: "14.3.1" - platform: visionOS macos-version: "15" - # - platform: macOS - # - platform: macOS - # macos-version: "13" + - platform: macOS + - platform: macOS + macos-version: "13" - # - platform: mac-catalyst - # - platform: mac-catalyst - # macos-version: "13" + - platform: mac-catalyst + - platform: mac-catalyst + macos-version: "13" steps: - name: Checkout Code uses: actions/checkout@v4 From 14bc0de20062ae154c0bcf63700f03e2d7c3043d Mon Sep 17 00:00:00 2001 From: Nikolay Volosatov Date: Sat, 1 Mar 2025 11:38:04 +0000 Subject: [PATCH 4/7] Do not run extra commands for macOS and catalyst --- .github/workflows/unit-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index f3f8354f..41f81fc9 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -71,6 +71,7 @@ jobs: 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 From d0932ba6d5c8ca401823a207b487ba158d12553b Mon Sep 17 00:00:00 2001 From: Nikolay Volosatov Date: Sat, 1 Mar 2025 11:40:06 +0000 Subject: [PATCH 5/7] Fix condition --- .github/workflows/unit-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 41f81fc9..7ff7c24a 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -71,7 +71,7 @@ jobs: xcode-version: ${{ matrix.xcode-version || 'latest-stable' }} - name: Ensure the platform is downloaded - if: ${{ matrix.platform != 'macOS' || matrix.platform != 'mac-catalyst' }} + if: ${{ matrix.platform != 'macOS' && matrix.platform != 'mac-catalyst' }} run: | xcodebuild -runFirstLaunch xcrun simctl list From 40ac158fdd4e289d3db8ebbe793cdc95fc9cec74 Mon Sep 17 00:00:00 2001 From: Nikolay Volosatov Date: Sat, 1 Mar 2025 11:59:55 +0000 Subject: [PATCH 6/7] Add extra step to other actions --- .github/workflows/build-sample.yml | 8 ++++++++ .github/workflows/cocoapods-lint.yml | 8 ++++++++ .github/workflows/integration-tests.yml | 8 ++++++++ .github/workflows/release.yml | 11 ++++++----- .github/workflows/unit-tests.yml | 2 +- 5 files changed, 31 insertions(+), 6 deletions(-) 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..07bf804d 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -39,6 +39,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 7ff7c24a..45a793d6 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -70,7 +70,7 @@ jobs: with: xcode-version: ${{ matrix.xcode-version || 'latest-stable' }} - - name: Ensure the platform is downloaded + - name: Ensure the Platform is Downloaded if: ${{ matrix.platform != 'macOS' && matrix.platform != 'mac-catalyst' }} run: | xcodebuild -runFirstLaunch From 09527394c219a60067059eae8ab5a0b6f58af3d5 Mon Sep 17 00:00:00 2001 From: Nikolay Volosatov Date: Sun, 2 Mar 2025 11:31:04 +0000 Subject: [PATCH 7/7] Disable tvOS integration tests --- .github/workflows/integration-tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 07bf804d..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