From 6c5f75b81e87c7f8d01051f2185b79a7a55c7d84 Mon Sep 17 00:00:00 2001 From: Yousif Khalid Date: Fri, 17 Apr 2026 13:14:37 +1000 Subject: [PATCH 1/5] swift compiler ver 5.3 does not support .iOS(.v15) --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index a13cc93c..65386a42 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.3 +// swift-tools-version:5.5 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription From 44108bf9645a3c36c9362810981f921ddc49534a Mon Sep 17 00:00:00 2001 From: Yousif Khalid Date: Fri, 17 Apr 2026 12:58:23 +1000 Subject: [PATCH 2/5] add sideloaded subtitles test target --- Package.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Package.swift b/Package.swift index 65386a42..a1e5b4a2 100644 --- a/Package.swift +++ b/Package.swift @@ -85,6 +85,13 @@ let package = Package( "THEOplayerConnectorUplynk" ], path: "Code/Uplynk/Tests" + ), + .testTarget( + name: "THEOplayerConnectorSideloadedSubtitleTests", + dependencies: [ + "THEOplayerConnectorSideloadedSubtitle" + ], + path: "Code/Sideloaded-TextTracks/Tests/THEOplayerConnectorSideloadedSubtitleTests" ) ] ) From 115fa0fe02902d8bd3bf88f6fb2a1564fc26edc0 Mon Sep 17 00:00:00 2001 From: Yousif Khalid Date: Fri, 17 Apr 2026 12:58:41 +1000 Subject: [PATCH 3/5] introduce smoke test pipeline --- .github/workflows/smoke-tests.yml | 80 +++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 .github/workflows/smoke-tests.yml diff --git a/.github/workflows/smoke-tests.yml b/.github/workflows/smoke-tests.yml new file mode 100644 index 00000000..da792811 --- /dev/null +++ b/.github/workflows/smoke-tests.yml @@ -0,0 +1,80 @@ +name: Smoke Tests (PR) + +on: + pull_request: + types: [opened, synchronize, reopened] + push: + branches: [main] + workflow_dispatch: + +concurrency: + group: smoke-tests-${{ github.head_ref || github.ref }} + cancel-in-progress: true + +run-name: Running Smoke Tests + +jobs: + build-and-test: + runs-on: macos-14 + + env: + DESTINATION: 'generic/platform=iOS Simulator' + # Connectors to build — Yospace excluded (requires proprietary YOAdManagement SDK) + BUILD_SCHEMES: >- + THEOplayerConnectorUtilities + THEOplayerConnectorConviva + THEOplayerConnectorNielsen + THEOplayerConnectorSideloadedSubtitle + THEOplayerConnectorUplynk + # Test schemes to run + TEST_SCHEMES: >- + THEOplayerConnectorUplynkTests + + steps: + - uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: '16.2.0' + + - name: Log environment + run: | + echo "macOS:" && sw_vers + echo "Xcode:" && xcodebuild -version + echo "Swift:" && swift --version + + - name: Check out repository + uses: actions/checkout@v4 + + - name: Resolve SPM dependencies + run: | + xcodebuild -resolvePackageDependencies \ + -scheme THEOplayerConnectorUtilities \ + -destination "$DESTINATION" + + - name: Build connectors + run: | + set -euo pipefail + for scheme in $BUILD_SCHEMES; do + echo "----------------------------------------" + echo "Building: $scheme" + echo "----------------------------------------" + xcodebuild build \ + -scheme "$scheme" \ + -destination "$DESTINATION" \ + -skipPackagePluginValidation \ + | xcpretty + done + + - name: Run tests + run: | + set -euo pipefail + SIM_DEST='platform=iOS Simulator,name=iPhone 16' + for scheme in $TEST_SCHEMES; do + echo "----------------------------------------" + echo "Testing: $scheme" + echo "----------------------------------------" + xcodebuild test \ + -scheme "$scheme" \ + -destination "$SIM_DEST" \ + -skipPackagePluginValidation \ + | xcpretty + done From 8700a7af27d4147e32101f954422caea5a1d1cd3 Mon Sep 17 00:00:00 2001 From: Yousif Khalid Date: Fri, 17 Apr 2026 13:06:56 +1000 Subject: [PATCH 4/5] fix failing test compilation for uplynk --- Code/Uplynk/Tests/Mocks/MockAdBreak.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Uplynk/Tests/Mocks/MockAdBreak.swift b/Code/Uplynk/Tests/Mocks/MockAdBreak.swift index 86738737..c4e51bf0 100644 --- a/Code/Uplynk/Tests/Mocks/MockAdBreak.swift +++ b/Code/Uplynk/Tests/Mocks/MockAdBreak.swift @@ -20,7 +20,7 @@ struct MockAdBreak: AdBreak { struct MockAd: Ad { let isSlate = false - var adBreak: AdBreak = MockAdBreak() + var adBreak: AdBreak? = MockAdBreak() var companions: [CompanionAd] = [] var type: String = "" var id: String? From 8e80986820fcead89ed645ce7df2eec7fd3d28f6 Mon Sep 17 00:00:00 2001 From: Yousif Khalid Date: Fri, 17 Apr 2026 15:12:27 +1000 Subject: [PATCH 5/5] rename pipeline --- .github/workflows/{smoke-tests.yml => build-and-test.yml} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename .github/workflows/{smoke-tests.yml => build-and-test.yml} (95%) diff --git a/.github/workflows/smoke-tests.yml b/.github/workflows/build-and-test.yml similarity index 95% rename from .github/workflows/smoke-tests.yml rename to .github/workflows/build-and-test.yml index da792811..9aab23a9 100644 --- a/.github/workflows/smoke-tests.yml +++ b/.github/workflows/build-and-test.yml @@ -1,4 +1,4 @@ -name: Smoke Tests (PR) +name: Build and Test (PR) on: pull_request: @@ -8,10 +8,10 @@ on: workflow_dispatch: concurrency: - group: smoke-tests-${{ github.head_ref || github.ref }} + group: build-and-test-${{ github.head_ref || github.ref }} cancel-in-progress: true -run-name: Running Smoke Tests +run-name: Build and Test jobs: build-and-test: