Skip to content

Convert to Swift Testing #1

Convert to Swift Testing

Convert to Swift Testing #1

Workflow file for this run

name: Platform Tests
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
jobs:
Apple:
name: ${{ matrix.platform }}
runs-on: macos-15
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
platform: ['ios', 'macos', 'tvos', 'watchos', 'visionos']
env:
DEVELOPER_DIR: /Applications/Xcode_26.2.0.app/Contents/Developer
steps:
- uses: actions/checkout@v4
- name: Test ${{ matrix.platform }}
run: |
set -euo pipefail
case "${{ matrix.platform }}" in
ios)
xcodebuild clean test -workspace . -scheme SwifterJSON -destination "platform=iOS Simulator,name=iPhone 16,OS=26.2"
;;
tvos)
xcodebuild clean test -workspace . -scheme SwifterJSON -destination "platform=tvOS Simulator,name=Apple TV,OS=26.2"
;;
macos)
swift test --parallel
;;
watchos)
xcodebuild clean test -workspace . -scheme SwifterJSON -destination "platform=watchOS Simulator,name=Apple Watch Series 10 (46mm),OS=26.2"
;;
visionos)
xcodebuild clean test -workspace . -scheme SwifterJSON -destination "platform=visionOS Simulator,name=Apple Vision Pro,OS=26.2"
;;
esac
Linux:
runs-on: [ubuntu-24.04]
container: swift:6.0.1
steps:
- uses: actions/checkout@v1
- name: Test Linux
run: swift test --parallel
Android:
runs-on: [ubuntu-24.04]
steps:
- uses: actions/checkout@v4
- name: Test Android
uses: skiptools/swift-android-action@v2