diff --git a/.github/workflows/example_ios_build.yml b/.github/workflows/example_ios_build.yml new file mode 100644 index 0000000..bc0e078 --- /dev/null +++ b/.github/workflows/example_ios_build.yml @@ -0,0 +1,52 @@ +name: Test Example App Build + +on: + pull_request: + branches: [main] + +jobs: + test-ios-build: + runs-on: macos-latest + timeout-minutes: 45 + permissions: + contents: read + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Select Xcode version + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: '26.2' + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + + - name: Install dependencies (root) + run: npm ci + + - name: Install dependencies (example app) + working-directory: example + run: npm ci + + - name: Generate native iOS project + working-directory: example + run: npx expo prebuild --platform ios + + - name: Cache CocoaPods + uses: actions/cache@v4 + with: + path: example/ios/Pods + key: ${{ runner.os }}-pods-${{ hashFiles('example/ios/Podfile', 'example/package-lock.json') }} + + - name: Install CocoaPods dependencies + working-directory: example/ios + run: pod install + + - name: Build iOS app + working-directory: example + run: npm run ios -- --no-install --no-bundler