Update ios.yml with new device and OS version #79
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and run tests | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| build: | |
| name: Build and Test SDKHostApp scheme using any available iPhone simulator | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v2 | |
| - name: Build and Test | |
| env: | |
| scheme: ${{ 'SDKHostApp' }} | |
| run: | | |
| # xcrun xctrace returns via stderr, not the expected stdout (see https://developer.apple.com/forums/thread/663959) | |
| if [ $scheme = default ]; then scheme=$(cat default); fi | |
| # Determine file to build: .xcworkspace or .xcodeproj | |
| if [ "`ls -A | grep -i \\.xcworkspace\$`" ]; then filetype_parameter="workspace" && file_to_build="`ls -A | grep -i \\.xcworkspace\$`"; else filetype_parameter="project" && file_to_build="`ls -A | grep -i \\.xcodeproj\$`"; fi | |
| # Clean up whitespace | |
| file_to_build=`echo $file_to_build | awk '{$1=$1;print}'` | |
| # Find latest available iOS runtime identifier | |
| latest_runtime_id=$(xcrun simctl list runtimes | grep -E "iOS [0-9]+\.[0-9]*" | grep -v unavailable | sort -Vr | head -n 1 | sed -E 's/.*- (.*)$/\1/') | |
| # Find a compatible simulator device name for that runtime | |
| device_name=$(xcrun simctl list devices available | grep "$latest_runtime_id" | head -n 1 | sed -E 's/^ (.+) \(.+\) \(.+\)$/\1/') | |
| if [ -z "$latest_runtime_id" ] || [ -z "$device_name" ]; then | |
| echo "❌ Failed to find a valid iOS runtime or device." | |
| exit 1 | |
| fi | |
| echo "🛠 Using runtime: $latest_runtime_id" | |
| echo "📱 Using device: $device_name" | |
| # Build and run the tests | |
| xcodebuild test \ | |
| -scheme "$scheme" \ | |
| -"$filetype_parameter" "$file_to_build" \ | |
| -destination "platform=iOS Simulator,OS=$latest_runtime_id,name=$device_name" |