From 491da38c2ffbf90a406c5ebd7e0657c338f5d327 Mon Sep 17 00:00:00 2001 From: Itay Brenner Date: Fri, 7 Nov 2025 12:51:10 -0300 Subject: [PATCH 01/13] chore: Ensure simctl's dyld shared cache is updated --- .github/workflows/ui-tests-common.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ui-tests-common.yml b/.github/workflows/ui-tests-common.yml index 3a2d30a4fce..5606a11f700 100644 --- a/.github/workflows/ui-tests-common.yml +++ b/.github/workflows/ui-tests-common.yml @@ -97,6 +97,10 @@ jobs: HOMEBREW_DEVELOPER=1 brew install --formula ./scripts/xcodegen.rb brew pin xcodegen + - name: Ensure simctl dyld shared cache is updated + run: | + xcrun simctl runtime dyld_shared_cache update --all + - name: Select Xcode version env: XCODE_VERSION: ${{ inputs.xcode_version }} From 2ab75a7728cd5b042d91163339ed7c7f9f1e3f0e Mon Sep 17 00:00:00 2001 From: Itay Brenner Date: Fri, 7 Nov 2025 12:53:21 -0300 Subject: [PATCH 02/13] Add simctl check for unit tests too --- .github/workflows/ui-tests-common.yml | 1 + .github/workflows/unit-test-common.yml | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/.github/workflows/ui-tests-common.yml b/.github/workflows/ui-tests-common.yml index 5606a11f700..62c79565fc7 100644 --- a/.github/workflows/ui-tests-common.yml +++ b/.github/workflows/ui-tests-common.yml @@ -100,6 +100,7 @@ jobs: - name: Ensure simctl dyld shared cache is updated run: | xcrun simctl runtime dyld_shared_cache update --all + xcrun simctl list devices - name: Select Xcode version env: diff --git a/.github/workflows/unit-test-common.yml b/.github/workflows/unit-test-common.yml index ff22b4be21c..f3d673d0a45 100644 --- a/.github/workflows/unit-test-common.yml +++ b/.github/workflows/unit-test-common.yml @@ -76,6 +76,11 @@ jobs: - name: Install Slather run: gem install slather + - name: Ensure simctl dyld shared cache is updated + run: | + xcrun simctl runtime dyld_shared_cache update --all + xcrun simctl list devices + # Install platform runtimes that are not included by default # For iOS 16.4: Not included with Xcode 15.4 on macOS-14 (macOS-13 sunset) # For iOS/tvOS 26.1: Beta platforms not included by default From 06efd5a58a0ff4b005ee46b5399f4a26044a2a52 Mon Sep 17 00:00:00 2001 From: Itay Brenner Date: Fri, 7 Nov 2025 12:59:26 -0300 Subject: [PATCH 03/13] Add unit-test-common.yml to unit test file filter --- .github/file-filters.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/file-filters.yml b/.github/file-filters.yml index 8632331b16d..b6e4483ea26 100644 --- a/.github/file-filters.yml +++ b/.github/file-filters.yml @@ -28,6 +28,7 @@ run_unit_tests_for_prs: &run_unit_tests_for_prs # GH Actions - ".github/workflows/test.yml" + - ".github/workflows/unit-test-common.yml" - ".github/file-filters.yml" # Scripts From cd94fa4d47700c6fc0035f51491773d89ca7a981 Mon Sep 17 00:00:00 2001 From: Itay Brenner Date: Fri, 7 Nov 2025 13:01:30 -0300 Subject: [PATCH 04/13] Run dyld shared cache update after selecting xcode --- .github/workflows/ui-tests-common.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ui-tests-common.yml b/.github/workflows/ui-tests-common.yml index 62c79565fc7..ef74f75ae68 100644 --- a/.github/workflows/ui-tests-common.yml +++ b/.github/workflows/ui-tests-common.yml @@ -97,16 +97,16 @@ jobs: HOMEBREW_DEVELOPER=1 brew install --formula ./scripts/xcodegen.rb brew pin xcodegen - - name: Ensure simctl dyld shared cache is updated - run: | - xcrun simctl runtime dyld_shared_cache update --all - xcrun simctl list devices - - name: Select Xcode version env: XCODE_VERSION: ${{ inputs.xcode_version }} run: ./scripts/ci-select-xcode.sh "$XCODE_VERSION" + - name: Ensure simctl dyld shared cache is updated + run: | + xcrun simctl runtime dyld_shared_cache update --all + xcrun simctl list devices + - name: Install required platforms for Xcode 26 if: ${{ inputs.install_platforms }} env: From 9a7bb7e77624eb54a0ccb4fdf4aa0ac41373ad3e Mon Sep 17 00:00:00 2001 From: Itay Brenner Date: Fri, 7 Nov 2025 13:08:29 -0300 Subject: [PATCH 05/13] Skip for xcode 15 --- .github/workflows/ui-tests-common.yml | 2 ++ .github/workflows/unit-test-common.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/ui-tests-common.yml b/.github/workflows/ui-tests-common.yml index ef74f75ae68..f0e8c25eac9 100644 --- a/.github/workflows/ui-tests-common.yml +++ b/.github/workflows/ui-tests-common.yml @@ -103,6 +103,8 @@ jobs: run: ./scripts/ci-select-xcode.sh "$XCODE_VERSION" - name: Ensure simctl dyld shared cache is updated + # Xcode 15.x doesn't support this command, so we skip it for that version. + if: ${{ !contains(inputs.xcode_version, '15.') }} run: | xcrun simctl runtime dyld_shared_cache update --all xcrun simctl list devices diff --git a/.github/workflows/unit-test-common.yml b/.github/workflows/unit-test-common.yml index f3d673d0a45..8a86905b754 100644 --- a/.github/workflows/unit-test-common.yml +++ b/.github/workflows/unit-test-common.yml @@ -77,6 +77,8 @@ jobs: run: gem install slather - name: Ensure simctl dyld shared cache is updated + # Xcode 15.x doesn't support this command, so we skip it for that version. + if: ${{ !contains(inputs.xcode, '15.') }} run: | xcrun simctl runtime dyld_shared_cache update --all xcrun simctl list devices From 0afabed63ddd867af870692b9ed9096699003fd2 Mon Sep 17 00:00:00 2001 From: Itay Brenner Date: Fri, 7 Nov 2025 13:09:22 -0300 Subject: [PATCH 06/13] Run all UI tests --- .github/workflows/ui-tests-common.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ui-tests-common.yml b/.github/workflows/ui-tests-common.yml index f0e8c25eac9..d57740f07d2 100644 --- a/.github/workflows/ui-tests-common.yml +++ b/.github/workflows/ui-tests-common.yml @@ -77,7 +77,8 @@ on: jobs: common-ui-tests: - if: ${{ !inputs.should_skip }} + # test in cirrus labs + # if: ${{ !inputs.should_skip }} name: UI Tests Common runs-on: ${{ inputs.run_on_cirrus_labs && fromJSON(format('["ghcr.io/cirruslabs/macos-runner:{0}", "runner_group_id:10"]', inputs.macos_version)) || inputs.macos_version }} timeout-minutes: 40 From 32e0699bcb99d0eaa2b910ef2bbab1772a64730b Mon Sep 17 00:00:00 2001 From: Itay Brenner Date: Mon, 10 Nov 2025 10:29:35 -0300 Subject: [PATCH 07/13] Check shared cache after installing platforms --- .github/workflows/ui-tests-common.yml | 14 +++++++------- .github/workflows/unit-test-common.yml | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ui-tests-common.yml b/.github/workflows/ui-tests-common.yml index d57740f07d2..e7186708046 100644 --- a/.github/workflows/ui-tests-common.yml +++ b/.github/workflows/ui-tests-common.yml @@ -103,13 +103,6 @@ jobs: XCODE_VERSION: ${{ inputs.xcode_version }} run: ./scripts/ci-select-xcode.sh "$XCODE_VERSION" - - name: Ensure simctl dyld shared cache is updated - # Xcode 15.x doesn't support this command, so we skip it for that version. - if: ${{ !contains(inputs.xcode_version, '15.') }} - run: | - xcrun simctl runtime dyld_shared_cache update --all - xcrun simctl list devices - - name: Install required platforms for Xcode 26 if: ${{ inputs.install_platforms }} env: @@ -117,6 +110,13 @@ jobs: OS_VERSION: ${{ inputs.test-destination-os }} run: ./scripts/ci-install-platforms.sh --platforms "$PLATFORM" --os-version "$OS_VERSION" + - name: Ensure simctl dyld shared cache is updated + # Xcode 15.x doesn't support this command, so we skip it for that version. + if: ${{ !contains(inputs.xcode_version, '15.') }} + run: | + xcrun simctl runtime dyld_shared_cache update --all + xcrun simctl list devices + - name: Create simulator device if: ${{ inputs.create_device }} env: diff --git a/.github/workflows/unit-test-common.yml b/.github/workflows/unit-test-common.yml index 8a86905b754..ddd01b38642 100644 --- a/.github/workflows/unit-test-common.yml +++ b/.github/workflows/unit-test-common.yml @@ -76,13 +76,6 @@ jobs: - name: Install Slather run: gem install slather - - name: Ensure simctl dyld shared cache is updated - # Xcode 15.x doesn't support this command, so we skip it for that version. - if: ${{ !contains(inputs.xcode, '15.') }} - run: | - xcrun simctl runtime dyld_shared_cache update --all - xcrun simctl list devices - # Install platform runtimes that are not included by default # For iOS 16.4: Not included with Xcode 15.4 on macOS-14 (macOS-13 sunset) # For iOS/tvOS 26.1: Beta platforms not included by default @@ -90,6 +83,13 @@ jobs: if: ${{ inputs.install_platforms }} run: ./scripts/ci-install-platforms.sh --platforms "${{ inputs.platform }}" --os-version "${{ inputs.test-destination-os }}" + - name: Ensure simctl dyld shared cache is updated + # Xcode 15.x doesn't support this command, so we skip it for that version. + if: ${{ !contains(inputs.xcode, '15.') }} + run: | + xcrun simctl runtime dyld_shared_cache update --all + xcrun simctl list devices + # Create simulator devices for non-preinstalled simulators # Required for iOS 16.4, iOS 17.5 (on Xcode 15.4), and iOS/tvOS 26.1 - name: Create simulator device From 350436c4d6c949de52566b6be7c930e61aab1432 Mon Sep 17 00:00:00 2001 From: Itay Brenner Date: Mon, 10 Nov 2025 14:37:52 -0300 Subject: [PATCH 08/13] Test install rosetta too --- .github/workflows/ui-tests-common.yml | 9 +++++++++ .github/workflows/unit-test-common.yml | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/.github/workflows/ui-tests-common.yml b/.github/workflows/ui-tests-common.yml index e7186708046..9c00c2e1354 100644 --- a/.github/workflows/ui-tests-common.yml +++ b/.github/workflows/ui-tests-common.yml @@ -115,6 +115,15 @@ jobs: if: ${{ !contains(inputs.xcode_version, '15.') }} run: | xcrun simctl runtime dyld_shared_cache update --all + xcrun simctl list runtimes -v + xcrun simctl list devices + + - name: Install Rosetta + run: softwareupdate --install-rosetta --agree-to-license + + - name: List available simulators + run: | + xcrun simctl list runtimes -v xcrun simctl list devices - name: Create simulator device diff --git a/.github/workflows/unit-test-common.yml b/.github/workflows/unit-test-common.yml index ddd01b38642..37e10e1538d 100644 --- a/.github/workflows/unit-test-common.yml +++ b/.github/workflows/unit-test-common.yml @@ -88,6 +88,15 @@ jobs: if: ${{ !contains(inputs.xcode, '15.') }} run: | xcrun simctl runtime dyld_shared_cache update --all + xcrun simctl list runtimes -v + xcrun simctl list devices + + - name: Install Rosetta + run: softwareupdate --install-rosetta --agree-to-license + + - name: List available simulators + run: | + xcrun simctl list runtimes -v xcrun simctl list devices # Create simulator devices for non-preinstalled simulators From 204cbdc1506cc293fd9a016dedd2cf7da2b3e2e9 Mon Sep 17 00:00:00 2001 From: Itay Brenner Date: Mon, 10 Nov 2025 16:09:19 -0300 Subject: [PATCH 09/13] remove force trigger for cirrus labs --- .github/workflows/ui-tests-common.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ui-tests-common.yml b/.github/workflows/ui-tests-common.yml index 9c00c2e1354..bf7d72e14d8 100644 --- a/.github/workflows/ui-tests-common.yml +++ b/.github/workflows/ui-tests-common.yml @@ -77,8 +77,7 @@ on: jobs: common-ui-tests: - # test in cirrus labs - # if: ${{ !inputs.should_skip }} + if: ${{ !inputs.should_skip }} name: UI Tests Common runs-on: ${{ inputs.run_on_cirrus_labs && fromJSON(format('["ghcr.io/cirruslabs/macos-runner:{0}", "runner_group_id:10"]', inputs.macos_version)) || inputs.macos_version }} timeout-minutes: 40 From 942db4cd4e92f9624a3d273278d74590a6ee0246 Mon Sep 17 00:00:00 2001 From: Itay Brenner Date: Mon, 10 Nov 2025 16:10:35 -0300 Subject: [PATCH 10/13] Remove debug print of runtimes and devices --- .github/workflows/ui-tests-common.yml | 5 ----- .github/workflows/unit-test-common.yml | 5 ----- 2 files changed, 10 deletions(-) diff --git a/.github/workflows/ui-tests-common.yml b/.github/workflows/ui-tests-common.yml index bf7d72e14d8..2604e854d64 100644 --- a/.github/workflows/ui-tests-common.yml +++ b/.github/workflows/ui-tests-common.yml @@ -120,11 +120,6 @@ jobs: - name: Install Rosetta run: softwareupdate --install-rosetta --agree-to-license - - name: List available simulators - run: | - xcrun simctl list runtimes -v - xcrun simctl list devices - - name: Create simulator device if: ${{ inputs.create_device }} env: diff --git a/.github/workflows/unit-test-common.yml b/.github/workflows/unit-test-common.yml index 37e10e1538d..5bbe7ad4125 100644 --- a/.github/workflows/unit-test-common.yml +++ b/.github/workflows/unit-test-common.yml @@ -94,11 +94,6 @@ jobs: - name: Install Rosetta run: softwareupdate --install-rosetta --agree-to-license - - name: List available simulators - run: | - xcrun simctl list runtimes -v - xcrun simctl list devices - # Create simulator devices for non-preinstalled simulators # Required for iOS 16.4, iOS 17.5 (on Xcode 15.4), and iOS/tvOS 26.1 - name: Create simulator device From d15cf553f8721f5e59a8dcaf1ef81d6be2a6fdd3 Mon Sep 17 00:00:00 2001 From: Itay Brenner Date: Mon, 10 Nov 2025 16:22:14 -0300 Subject: [PATCH 11/13] Install rosetta before updating dyld shared cache --- .github/workflows/ui-tests-common.yml | 8 +++++--- .github/workflows/unit-test-common.yml | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ui-tests-common.yml b/.github/workflows/ui-tests-common.yml index 2604e854d64..d8ba29f54f2 100644 --- a/.github/workflows/ui-tests-common.yml +++ b/.github/workflows/ui-tests-common.yml @@ -109,6 +109,11 @@ jobs: OS_VERSION: ${{ inputs.test-destination-os }} run: ./scripts/ci-install-platforms.sh --platforms "$PLATFORM" --os-version "$OS_VERSION" + - name: Install Rosetta + run: | + xcrun simctl list runtimes -v + softwareupdate --install-rosetta --agree-to-license + - name: Ensure simctl dyld shared cache is updated # Xcode 15.x doesn't support this command, so we skip it for that version. if: ${{ !contains(inputs.xcode_version, '15.') }} @@ -117,9 +122,6 @@ jobs: xcrun simctl list runtimes -v xcrun simctl list devices - - name: Install Rosetta - run: softwareupdate --install-rosetta --agree-to-license - - name: Create simulator device if: ${{ inputs.create_device }} env: diff --git a/.github/workflows/unit-test-common.yml b/.github/workflows/unit-test-common.yml index 5bbe7ad4125..11d6c1a5301 100644 --- a/.github/workflows/unit-test-common.yml +++ b/.github/workflows/unit-test-common.yml @@ -83,6 +83,11 @@ jobs: if: ${{ inputs.install_platforms }} run: ./scripts/ci-install-platforms.sh --platforms "${{ inputs.platform }}" --os-version "${{ inputs.test-destination-os }}" + - name: Install Rosetta + run: | + xcrun simctl list runtimes -v + softwareupdate --install-rosetta --agree-to-license + - name: Ensure simctl dyld shared cache is updated # Xcode 15.x doesn't support this command, so we skip it for that version. if: ${{ !contains(inputs.xcode, '15.') }} @@ -91,9 +96,6 @@ jobs: xcrun simctl list runtimes -v xcrun simctl list devices - - name: Install Rosetta - run: softwareupdate --install-rosetta --agree-to-license - # Create simulator devices for non-preinstalled simulators # Required for iOS 16.4, iOS 17.5 (on Xcode 15.4), and iOS/tvOS 26.1 - name: Create simulator device From cc3d5de1caab3586a002510a61ec00cb924713e5 Mon Sep 17 00:00:00 2001 From: Itay Brenner Date: Mon, 10 Nov 2025 16:22:31 -0300 Subject: [PATCH 12/13] Test: enable runs on cirrus labs --- .github/workflows/ui-tests-common.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ui-tests-common.yml b/.github/workflows/ui-tests-common.yml index d8ba29f54f2..b45edc39067 100644 --- a/.github/workflows/ui-tests-common.yml +++ b/.github/workflows/ui-tests-common.yml @@ -77,7 +77,8 @@ on: jobs: common-ui-tests: - if: ${{ !inputs.should_skip }} + # test in cirrus labs + # if: ${{ !inputs.should_skip }} name: UI Tests Common runs-on: ${{ inputs.run_on_cirrus_labs && fromJSON(format('["ghcr.io/cirruslabs/macos-runner:{0}", "runner_group_id:10"]', inputs.macos_version)) || inputs.macos_version }} timeout-minutes: 40 From 4afc79823d589d4177eae63321d2f451e3d5147a Mon Sep 17 00:00:00 2001 From: Itay Brenner Date: Mon, 10 Nov 2025 16:54:29 -0300 Subject: [PATCH 13/13] debug: Disable rosetta install --- .github/workflows/ui-tests-common.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ui-tests-common.yml b/.github/workflows/ui-tests-common.yml index b45edc39067..024a01996ed 100644 --- a/.github/workflows/ui-tests-common.yml +++ b/.github/workflows/ui-tests-common.yml @@ -113,7 +113,6 @@ jobs: - name: Install Rosetta run: | xcrun simctl list runtimes -v - softwareupdate --install-rosetta --agree-to-license - name: Ensure simctl dyld shared cache is updated # Xcode 15.x doesn't support this command, so we skip it for that version.