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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.