0

I have a React Native project that builds and uploads successfully using Fastlane on my local Mac (Xcode 26.1).
However, the GitHub Actions iOS build fails with the following error:

** ARCHIVE FAILED **

Exit status: 65

Maybe the error shown is caused by using the wrong version of Xcode

Found multiple versions of Xcode in '/Applications/'

This build process was executed using '/Applications/Xcode_16.1.app'

Here’s the relevant part of my GitHub Actions workflow:

ame: QA Release Build

on:
  push:
    branches: [main]

jobs:
  qa-build:
    runs-on: macos-14 # should use macos-latest when ios builds enabled
    name: Build QA Release

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18'
          cache: 'npm'

      - name: Install dependencies
        run: npm ci

      - name: Install Ruby and Fastlane
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.2'
          bundler-cache: true

      - name: Install Fastlane
        run: |
          gem install fastlane
          bundle install

      - name: Setup environment variables
        run: |
          echo "KINDE_DOMAIN=${{ vars.KINDE_DOMAIN }}" >> .env
          echo "KINDE_CLIENT_ID=${{ vars.KINDE_CLIENT_ID }}" >> .env
          echo "KINDE_SCOPES=${{ vars.KINDE_SCOPES }}" >> .env
          echo "PUBLIC_API_URL=${{ vars.PUBLIC_API_URL }}" >> .env
          echo "KINDE_AUDIENCE=${{ vars.KINDE_AUDIENCE }}" >> .env

      - name: Create credentials directories
        run: |
          mkdir -p credentials/ios

      - name: Setup Apple API Key for Fastlane Match
        run: |
          echo '${{ secrets.FASTLANE_PASSWORD }}' > credentials/ios/AuthKey.p8

      - name: Setup Google Service Info Plist for iOS
        run: |
          echo "${{ secrets.IOS_GOOGLE_SERVICE_INFO_PLIST }}" | base64 --decode > GoogleService-Info.plist

      - name: Expo Prebuild
        run: npm run prebuild --clean

      - name: Setup SSH
        run: |
          mkdir -p ~/.ssh
          echo "${{ secrets.FASTLANE_MATCH_DEPLOY_KEY }}" > ~/.ssh/id_rsa
          chmod 600 ~/.ssh/id_rsa
          ssh-keyscan github.com >> ~/.ssh/known_hosts

      - name: Select Xcode version
        uses: maxim-lobanov/setup-xcode@v1
        with:
          xcode-version: '16.1'

      - name: Build and Release iOS QA
        run: fastlane ios qa_release
        env:
          APP_STORE_CONNECT_API_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ID }}
          APP_STORE_CONNECT_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
          MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}


      - name: Upload iOS Release IPA
        uses: actions/upload-artifact@v4
        with:
          name: ios-release-ipa
          path: ios/build/smbmobile.ipa
          retention-days: 30

How to solve this issue ?

2
  • Can you enable verbose logging for fastlane ? Commented Nov 12 at 8:54
  • @MichaelBahl it's already added Commented Nov 12 at 9:26

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.