Migrate from Travis CI to GitHub Actions with Xcode 16.4 and iOS 12.0+ compatibility #5
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, master ] | |
| pull_request: | |
| branches: [ main, master ] | |
| env: | |
| LC_CTYPE: en_US.UTF-8 | |
| LANG: en_US.UTF-8 | |
| jobs: | |
| test: | |
| name: Test on iOS | |
| runs-on: macos-latest | |
| strategy: | |
| matrix: | |
| destination: | |
| - "OS=18.0,name=iPhone 15" | |
| - "OS=17.4,name=iPhone 14" | |
| - "OS=16.4,name=iPhone 12" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Xcode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '16.4' | |
| - name: Install xcpretty | |
| run: gem install xcpretty | |
| - name: Show Xcode version | |
| run: xcodebuild -version | |
| - name: Show available simulators | |
| run: xcrun simctl list devices available | |
| - name: Build and Test Framework (Debug) | |
| run: | | |
| set -o pipefail | |
| xcodebuild -workspace "iOS Example/iOS Example.xcworkspace" \ | |
| -scheme "FDTake" \ | |
| -destination "${{ matrix.destination }}" \ | |
| -configuration Debug \ | |
| ONLY_ACTIVE_ARCH=NO \ | |
| ENABLE_TESTABILITY=YES \ | |
| test | xcpretty | |
| - name: Build and Test Framework (Release) | |
| run: | | |
| set -o pipefail | |
| xcodebuild -workspace "iOS Example/iOS Example.xcworkspace" \ | |
| -scheme "FDTake" \ | |
| -destination "${{ matrix.destination }}" \ | |
| -configuration Release \ | |
| ONLY_ACTIVE_ARCH=NO \ | |
| ENABLE_TESTABILITY=YES \ | |
| test | xcpretty | |
| - name: Build Example App | |
| run: | | |
| set -o pipefail | |
| xcodebuild -workspace "iOS Example/iOS Example.xcworkspace" \ | |
| -scheme "iOS Example" \ | |
| -destination "${{ matrix.destination }}" \ | |
| -configuration Debug \ | |
| ONLY_ACTIVE_ARCH=NO \ | |
| build | xcpretty | |
| cocoapods: | |
| name: CocoaPods Validation | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Ruby | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: '3.0' | |
| bundler-cache: true | |
| - name: Install CocoaPods | |
| run: gem install cocoapods | |
| - name: Lint Podspec | |
| run: pod lib lint --allow-warnings | |
| - name: Check CocoaPods Quality | |
| run: ruby Tests/CheckCocoaPodsQualityIndexes.rb FDTake |