From 5aee8d9ddbfa02e803385f4b5706de0f96515cbb Mon Sep 17 00:00:00 2001 From: Nickolas Dimitrakas Date: Mon, 2 Feb 2026 11:23:44 -0500 Subject: [PATCH 1/8] ci: add swift unit tests --- .github/workflows/native-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/native-tests.yml b/.github/workflows/native-tests.yml index efbc30e6f..3f103a726 100644 --- a/.github/workflows/native-tests.yml +++ b/.github/workflows/native-tests.yml @@ -18,7 +18,7 @@ jobs: max-parallel: 4 matrix: platform: [iOS, tvOS] - scheme: [mParticle-Apple-SDK-NoLocation] + scheme: [mParticle-Apple-SDK-NoLocation, mParticle-Apple-SDK-Swift] include: - platform: iOS device: iPhone 16 Pro From 3df62d827c3c50c7ad904c8d66bea442c15c4db4 Mon Sep 17 00:00:00 2001 From: Nickolas Dimitrakas Date: Mon, 2 Feb 2026 11:51:34 -0500 Subject: [PATCH 2/8] fix failure in ci --- mParticle-Apple-SDK-Swift/Test/Utils/MPDeviceTests.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/mParticle-Apple-SDK-Swift/Test/Utils/MPDeviceTests.swift b/mParticle-Apple-SDK-Swift/Test/Utils/MPDeviceTests.swift index 2dc0c88d5..6311899db 100644 --- a/mParticle-Apple-SDK-Swift/Test/Utils/MPDeviceTests.swift +++ b/mParticle-Apple-SDK-Swift/Test/Utils/MPDeviceTests.swift @@ -30,6 +30,7 @@ class MPIdentityApiMPDeviceMock: MPIdentityApiMPDeviceProtocol { } } +@available(iOS 16, tvOS 16, *) final class MPDeviceTests: XCTestCase { func testDictionaryDescription() { From f260174378cb9157e53bce839e236424be80615f Mon Sep 17 00:00:00 2001 From: Nickolas Dimitrakas Date: Mon, 2 Feb 2026 12:35:20 -0500 Subject: [PATCH 3/8] Update native-tests.yml --- .github/workflows/native-tests.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/native-tests.yml b/.github/workflows/native-tests.yml index 3f103a726..a31b1ce90 100644 --- a/.github/workflows/native-tests.yml +++ b/.github/workflows/native-tests.yml @@ -43,7 +43,6 @@ jobs: os_version: ">=18.0" erase_before_boot: true wait_for_boot: true - shutdown_after_job: true - name: Run unit tests run: xcodebuild -project mParticle-Apple-SDK.xcodeproj -scheme ${{ matrix.scheme }} -destination 'id=${{ steps.simulator.outputs.UDID }}' test From 515fa0a520a3fb9f0dd03d7fd19c160bf8cf3e60 Mon Sep 17 00:00:00 2001 From: Nickolas Dimitrakas Date: Mon, 2 Feb 2026 12:51:50 -0500 Subject: [PATCH 4/8] switch shutdown flag caused by timing on tests --- .github/workflows/native-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/native-tests.yml b/.github/workflows/native-tests.yml index a31b1ce90..7df455b86 100644 --- a/.github/workflows/native-tests.yml +++ b/.github/workflows/native-tests.yml @@ -43,6 +43,7 @@ jobs: os_version: ">=18.0" erase_before_boot: true wait_for_boot: true + shutdown_after_job: false - name: Run unit tests run: xcodebuild -project mParticle-Apple-SDK.xcodeproj -scheme ${{ matrix.scheme }} -destination 'id=${{ steps.simulator.outputs.UDID }}' test From 5809d3d817a4da829e23d066a9cb578a1d3c7317 Mon Sep 17 00:00:00 2001 From: Nickolas Dimitrakas Date: Mon, 2 Feb 2026 13:08:23 -0500 Subject: [PATCH 5/8] add additional device for swift scheme --- .github/workflows/native-tests.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/native-tests.yml b/.github/workflows/native-tests.yml index 7df455b86..d4142fdee 100644 --- a/.github/workflows/native-tests.yml +++ b/.github/workflows/native-tests.yml @@ -17,13 +17,19 @@ jobs: fail-fast: false max-parallel: 4 matrix: - platform: [iOS, tvOS] - scheme: [mParticle-Apple-SDK-NoLocation, mParticle-Apple-SDK-Swift] include: - platform: iOS + scheme: mParticle-Apple-SDK-NoLocation device: iPhone 16 Pro + - platform: iOS + scheme: mParticle-Apple-SDK-Swift + device: iPhone 16 - platform: tvOS + scheme: mParticle-Apple-SDK-NoLocation device: Apple TV 4K (3rd generation) + - platform: tvOS + scheme: mParticle-Apple-SDK-Swift + device: Apple TV 4K (3rd generation) (at 1080p) runs-on: macOS-15 steps: - name: Checkout @@ -43,7 +49,7 @@ jobs: os_version: ">=18.0" erase_before_boot: true wait_for_boot: true - shutdown_after_job: false + shutdown_after_job: true - name: Run unit tests run: xcodebuild -project mParticle-Apple-SDK.xcodeproj -scheme ${{ matrix.scheme }} -destination 'id=${{ steps.simulator.outputs.UDID }}' test From 51b5c4177ada1568c67b6c1d3e6666df4cc5b795 Mon Sep 17 00:00:00 2001 From: Nickolas Dimitrakas Date: Mon, 2 Feb 2026 13:23:13 -0500 Subject: [PATCH 6/8] Update native-tests.yml --- .github/workflows/native-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/native-tests.yml b/.github/workflows/native-tests.yml index d4142fdee..d463abd19 100644 --- a/.github/workflows/native-tests.yml +++ b/.github/workflows/native-tests.yml @@ -49,7 +49,7 @@ jobs: os_version: ">=18.0" erase_before_boot: true wait_for_boot: true - shutdown_after_job: true + shutdown_after_job: false - name: Run unit tests run: xcodebuild -project mParticle-Apple-SDK.xcodeproj -scheme ${{ matrix.scheme }} -destination 'id=${{ steps.simulator.outputs.UDID }}' test From e2a2a703fc4be7549022af92eefe856449fb0683 Mon Sep 17 00:00:00 2001 From: Nickolas Dimitrakas Date: Mon, 2 Feb 2026 13:45:35 -0500 Subject: [PATCH 7/8] remove dependency on simulator-action --- .github/workflows/native-tests.yml | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/.github/workflows/native-tests.yml b/.github/workflows/native-tests.yml index d463abd19..01d1855bb 100644 --- a/.github/workflows/native-tests.yml +++ b/.github/workflows/native-tests.yml @@ -17,39 +17,20 @@ jobs: fail-fast: false max-parallel: 4 matrix: + platform: [iOS, tvOS] + scheme: [mParticle-Apple-SDK-NoLocation, mParticle-Apple-SDK-Swift] include: - platform: iOS - scheme: mParticle-Apple-SDK-NoLocation device: iPhone 16 Pro - - platform: iOS - scheme: mParticle-Apple-SDK-Swift - device: iPhone 16 - platform: tvOS - scheme: mParticle-Apple-SDK-NoLocation device: Apple TV 4K (3rd generation) - - platform: tvOS - scheme: mParticle-Apple-SDK-Swift - device: Apple TV 4K (3rd generation) (at 1080p) runs-on: macOS-15 steps: - name: Checkout uses: actions/checkout@v6 - - name: Set up Xcode - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: ${{ env.XCODE_VERSION }} - - - name: Setup specified simulator - uses: futureware-tech/simulator-action@v4 - id: simulator - with: - model: ${{ matrix.device }} - os: ${{ matrix.platform }} - os_version: ">=18.0" - erase_before_boot: true - wait_for_boot: true - shutdown_after_job: false + - name: Select Xcode + run: sudo xcode-select -s /Applications/Xcode_${{ env.XCODE_VERSION }}.app - name: Run unit tests - run: xcodebuild -project mParticle-Apple-SDK.xcodeproj -scheme ${{ matrix.scheme }} -destination 'id=${{ steps.simulator.outputs.UDID }}' test + run: xcodebuild -project mParticle-Apple-SDK.xcodeproj -scheme ${{ matrix.scheme }} -destination 'platform=${{ matrix.platform }} Simulator,name=${{ matrix.device }},OS=latest' test From e2dc6a2af2953163573a3a4cdb6c94a2c6f3d5a0 Mon Sep 17 00:00:00 2001 From: Nickolas Dimitrakas Date: Mon, 2 Feb 2026 14:36:20 -0500 Subject: [PATCH 8/8] remove pull request trigger for secondary platforms --- .github/workflows/build-secondary-platforms.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-secondary-platforms.yml b/.github/workflows/build-secondary-platforms.yml index c45c547dc..dba93c07a 100644 --- a/.github/workflows/build-secondary-platforms.yml +++ b/.github/workflows/build-secondary-platforms.yml @@ -2,7 +2,6 @@ name: Secondary Platforms iOS Build on: workflow_dispatch: - pull_request: concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}