Skip to content

Report THEOads interstitial errors as failed ads to Conviva #36

Report THEOads interstitial errors as failed ads to Conviva

Report THEOads interstitial errors as failed ads to Conviva #36

name: Build and Test (PR)
on:
pull_request:
types: [opened, synchronize, reopened]
push:
branches: [main]
workflow_dispatch:
concurrency:
group: build-and-test-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
build-and-test:
runs-on: macos-26
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: '26.3.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 17'
for scheme in $TEST_SCHEMES; do
echo "----------------------------------------"
echo "Testing: $scheme"
echo "----------------------------------------"
xcodebuild test \
-scheme "$scheme" \
-destination "$SIM_DEST" \
-skipPackagePluginValidation \
| xcpretty
done