Skip to content

Swift Concurrency/Isolation Support (MainActor) #18

Swift Concurrency/Isolation Support (MainActor)

Swift Concurrency/Isolation Support (MainActor) #18

Workflow file for this run

name: CI iOS
on: [push, pull_request]
jobs:
build-and-test:
runs-on: macos-15
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Select Xcode 26.2 (Swift 6.2 — isolated deinit supported)
run: sudo xcode-select -s /Applications/Xcode_26.2.app
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1'
- name: Install CocoaPods
run: gem install cocoapods
- name: Install pod dependencies
working-directory: ./Examples/Example1
run: pod install || pod install --repo-update
- name: Run tests with coverage
working-directory: ./Examples/Example1
run: |
xcodebuild \
-workspace RIBs.xcworkspace \
-scheme RIBs-Example \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone SE (3rd generation),OS=18.5' \
-enableCodeCoverage YES \
clean test
- name: Extract and print coverage
run: |
RESULT_BUNDLE=$(find ~/Library/Developer/Xcode/DerivedData -type d -name "*.xcresult" | sort | tail -n 1)
echo "Found result bundle at: $RESULT_BUNDLE"
xcrun xccov view --report --json "$RESULT_BUNDLE" > coverage.json
cat coverage.json
xcrun xccov view --report "$RESULT_BUNDLE"
- name: Lint podspec
run: |
pod lib lint RIBs.podspec \
--skip-tests