Skip to content

Test Xcode 16.1

Test Xcode 16.1 #594

name: Testing Matrix
on:
workflow_dispatch:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
TESTS: "FunctionTests SDKTests RoomTests PublishDataTests PublishBufferCapturerTests VideoViewTests TrackTests"
jobs:
run:
strategy:
fail-fast: false
matrix:
include:
# https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md
- os: macos-13
xcode: 14.2
platform: "iOS Simulator,OS=17.2,name=iPhone 14 Pro"
- os: macos-13
xcode: 14.2
platform: "macOS"
- os: macos-13
xcode: 14.2
platform: "macOS,variant=Mac Catalyst"
# https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md
- os: macos-14
xcode: 15.4
platform: "iOS Simulator,OS=17.5,name=iPhone 15 Pro"
- os: macos-14
xcode: 15.4
platform: "macOS"
- os: macos-14
xcode: 15.4
platform: "macOS,variant=Mac Catalyst"
- os: macos-14
xcode: 15.4
platform: "visionOS Simulator,name=Apple Vision Pro" # visionOS 1.2
- os: macos-14
xcode: 15.4
platform: "tvOS Simulator,name=Apple TV"
# https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md
- os: macos-14
xcode: 16.1
platform: "iOS Simulator,OS=18.1,name=iPhone 16 Pro"
- os: macos-14
xcode: 16.1
platform: "macOS"
- os: macos-14
xcode: 16.1
platform: "macOS,variant=Mac Catalyst"
runs-on: ${{ matrix.os }}
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Install LiveKit Server
run: brew install livekit
- name: Run LiveKit Server
run: livekit-server --dev &
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{ matrix.xcode }}
- name: Xcode Version
run: xcodebuild -version
- name: Swift Version
run: xcrun swift --version
- name: Build
run: xcodebuild build-for-testing -scheme LiveKit -destination 'platform=${{ matrix.platform }}' -parallel-testing-enabled YES
- name: Run
run: |
IFS=' ' read -r -a tests <<< "${{ env.TESTS }}"
for test in "${tests[@]}"; do
echo "::group::Running test $test"
xcodebuild test-without-building -scheme LiveKit -destination 'platform=${{ matrix.platform }}' -only-testing:LiveKitTests/$test
echo "::endgroup::"
done
shell: bash