CI: download default runtime if needed #28
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: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- "**" | |
schedule: | |
- cron: "3 3 * * 2" # 3:03 AM, every Tuesday | |
concurrency: | |
group: ci-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
macOS: | |
name: ${{ matrix.platform }} (Swift ${{ matrix.swift }}) | |
runs-on: macos-15 | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: | |
- iOS | |
- macOS | |
- tvOS | |
- watchOS | |
swift: | |
- "6.0" | |
- "6.1" | |
include: | |
- action: test | |
- platform: iOS | |
platform-version: ~18.2 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Remove iOS 26 Runtime & Install iOS 18.2 Runtime | |
if: matrix.platform == 'iOS' && matrix.swift == '6.0' | |
run: | | |
xcrun simctl runtime delete "iOS 26.0" | |
sudo xcodes select 16.2 | |
sudo xcodes runtimes install "iOS 18.2" | |
- uses: mxcl/xcodebuild@v3 | |
with: | |
action: ${{ matrix.action }} | |
platform: ${{ matrix.platform }} | |
platform-version: ${{ matrix.platform-version }} | |
swift: ~${{ matrix.swift }} | |
workspace: ObjCRuntimeTools.xcworkspace | |
scheme: ObjCRuntimeTools |