Skip to content

Integration Tests #1373

Integration Tests

Integration Tests #1373

name: Integration Tests
on:
schedule:
- cron: 0 2 * * 1-5
workflow_dispatch:
jobs:
unit:
name: Run Unit Tests
strategy:
fail-fast: false
matrix:
env:
- xcode: "Xcode_26.1"
os: "macos-26"
iossim: "iPhone 17"
tvossim: "Apple TV"
- xcode: "Xcode_26.2"
os: "macos-26"
iossim: "iPhone 17"
tvossim: "Apple TV"
- xcode: "Xcode_26.4"
os: "macos-26"
iossim: "iPhone 17"
tvossim: "Apple TV"
runs-on: ${{ matrix.env.os }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Select ${{ matrix.env.xcode }}
run: sudo xcode-select --switch /Applications/${{ matrix.env.xcode }}.app
- name: Unit tests
run: make XC_LOG=unit IOS_SIMULATOR="${{ matrix.env.iossim }}" TVOS_SIMULATOR="${{ matrix.env.tvossim }}" tests/unit
- name: Attach Xcode logs
if: '!cancelled()'
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: ${{ matrix.env.xcode }}-unit-logs
path: "*-unit.log"
integration:
name: Run Integration Tests
strategy:
fail-fast: false
matrix:
env:
- xcode: "Xcode_26.1"
os: "macos-26"
iossim: "iPhone 17"
tvossim: "Apple TV"
- xcode: "Xcode_26.2"
os: "macos-26"
iossim: "iPhone 17"
tvossim: "Apple TV"
- xcode: "Xcode_26.4"
os: "macos-26"
iossim: "iPhone 17"
tvossim: "Apple TV"
platform: ["macOS", "iOSsim", "tvOSsim"]
runs-on: ${{ matrix.env.os }}
env:
DD_API_KEY: '${{ secrets.DD_API_KEY }}'
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Select ${{ matrix.env.xcode }}
run: sudo xcode-select --switch /Applications/${{ matrix.env.xcode }}.app
- name: Run tests for ${{ matrix.platform }}
run: make XC_LOG=integration IOS_SIMULATOR="${{ matrix.env.iossim }}" TVOS_SIMULATOR="${{ matrix.env.tvossim }}" tests/integration/${{ matrix.platform }}
- name: Attach Xcode logs
if: '!cancelled()'
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: ${{ matrix.env.xcode }}-${{ matrix.platform }}-integration-log
path: "*-integration.log"