feat(ios): add ExternalPurchaseCustomLink API support (iOS 18.1+) #286
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: CI - iOS Build | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - '.github/workflows/ci-ios.yml' | |
| - '.github/actions/**' | |
| - 'ios/**' | |
| - 'nitrogen/**' | |
| - 'src/types/**' | |
| - 'src/*.nitro.ts' | |
| - 'example/ios/**' | |
| - 'example/Gemfile*' | |
| - 'example/Podfile*' | |
| - 'example/package.json' | |
| - 'nitro.json' | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - '.github/workflows/ci-ios.yml' | |
| - '.github/actions/**' | |
| - 'ios/**' | |
| - 'nitrogen/**' | |
| - 'src/types/**' | |
| - 'src/*.nitro.ts' | |
| - 'example/ios/**' | |
| - 'example/Gemfile*' | |
| - 'example/Podfile*' | |
| - 'example/package.json' | |
| - 'nitro.json' | |
| merge_group: | |
| types: | |
| - checks_requested | |
| jobs: | |
| build-ios: | |
| runs-on: macos-15 | |
| timeout-minutes: 60 | |
| env: | |
| XCODE_VERSION: 16.4 | |
| CCACHE_DIR: ~/.ccache | |
| CCACHE_MAXSIZE: 2G | |
| USE_HERMES: false | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup | |
| uses: ./.github/actions/setup | |
| - name: Generate nitrogen code | |
| run: node .yarn/releases/yarn-3.6.1.cjs nitrogen | |
| - name: Set up Xcode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: ${{ env.XCODE_VERSION }} | |
| - name: Cache ccache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.ccache | |
| key: ${{ runner.os }}-ccache-${{ github.sha }} | |
| restore-keys: | | |
| ${{ runner.os }}-ccache- | |
| - name: Setup ccache | |
| run: | | |
| brew install ccache | |
| ccache --set-config=compiler_check=content | |
| ccache --zero-stats | |
| - name: Cache Ruby gems | |
| uses: actions/cache@v4 | |
| with: | |
| path: example/vendor/bundle | |
| key: ${{ runner.os }}-ruby-${{ hashFiles('example/Gemfile.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-ruby- | |
| - name: Cache CocoaPods | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cocoapods/repos/trunk | |
| example/ios/Pods | |
| ~/Library/Caches/CocoaPods | |
| example/ios/build | |
| key: ${{ runner.os }}-pods-${{ hashFiles('example/ios/Podfile.lock', 'example/ios/Podfile') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pods- | |
| - name: Install Ruby dependencies | |
| working-directory: example | |
| run: bundle install | |
| - name: Install CocoaPods dependencies | |
| working-directory: example/ios | |
| run: | | |
| echo "Installing pods..." | |
| bundle exec pod install | |
| - name: Build iOS app | |
| working-directory: example/ios | |
| run: | | |
| set -o pipefail | |
| xcodebuild build \ | |
| -workspace example.xcworkspace \ | |
| -scheme example \ | |
| -destination 'generic/platform=iOS Simulator' \ | |
| -configuration Debug \ | |
| CODE_SIGNING_ALLOWED=NO \ | |
| COMPILER_INDEX_STORE_ENABLE=NO \ | |
| | xcpretty --simple | |
| - name: ccache stats | |
| run: ccache --show-stats |