Skip to content

feat(ios): add ExternalPurchaseCustomLink API support (iOS 18.1+) #286

feat(ios): add ExternalPurchaseCustomLink API support (iOS 18.1+)

feat(ios): add ExternalPurchaseCustomLink API support (iOS 18.1+) #286

Workflow file for this run

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