Add github actions script #2
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: iOS CI | |
| on: [push, pull_request] | |
| env: | |
| CLOUDINARY_URL: ${{ secrets.CLOUDINARY_URL }} | |
| jobs: | |
| build: | |
| name: Xcode ${{ matrix.osx_image }} - iOS ${{ matrix.os_version }} | |
| runs-on: macos-12 | |
| strategy: | |
| matrix: | |
| include: | |
| - osx_image: xcode12 | |
| xcode_version: '12.5' | |
| ios_name: 'iPhone 8' | |
| os_version: '13.0' | |
| - osx_image: xcode12 | |
| xcode_version: '12.5' | |
| ios_name: 'iPhone 8' | |
| os_version: '14.0' | |
| - osx_image: xcode13.2 | |
| xcode_version: '13.2' | |
| ios_name: 'iPhone 8' | |
| os_version: '15.2' | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Ruby (for CocoaPods) | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: 2.7 | |
| - name: Install CocoaPods | |
| run: sudo gem install cocoapods | |
| - name: Setup test cloud URL | |
| run: | | |
| echo "Setting CLOUDINARY_URL from tools/get_test_cloud.sh" | |
| echo "CLOUDINARY_URL=$(bash tools/get_test_cloud.sh)" >> $GITHUB_ENV | |
| echo "cloud_name: $(echo $CLOUDINARY_URL | cut -d'@' -f2)" | |
| - name: Install Pods | |
| working-directory: Example | |
| run: pod install | |
| - name: Run Xcode build and tests | |
| run: | | |
| xcodebuild test \ | |
| -workspace Example/Cloudinary.xcworkspace \ | |
| -scheme travis_public_scheme \ | |
| -destination "platform=iOS Simulator,OS=${{ matrix.os_version }},name=${{ matrix.ios_name }}" \ | |
| CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO | |
| - name: Send notification (if desired) | |
| if: failure() | |
| run: | | |
| echo "Notify [email protected] of failure (implement via webhook/email API if needed)" |