Github Actions (Expo EAS)

Set up Expo (EAS) with GitHub Actions to upload your Android (APK) and iOS (IPA) to TestApp.io for testing and feedback.

The following environment variables need to be set:


iOS

name: Upload IPA to TestApp.io
on:
  workflow_dispatch:

jobs:
  ios:
    runs-on: macos-latest
    steps:
      - name: 🏗 Setup repo
        uses: actions/checkout@v3

      - name: 🏗 Setup Node
        uses: actions/setup-node@v3
        with:
          node-version: 18.x
          cache: yarn

      - name: 🏗 Setup EAS
        uses: expo/expo-github-action@v8
        with:
          eas-version: latest
          token: ${{ secrets.EXPO_TOKEN }}

      - name: 📦 Install dependencies
        run: yarn install

      - name: 🚀 Build app
        run: eas build -p ios --profile staging --local --non-interactive --clear-cache --output "./ipa/ios-staging-build.ipa"
        env:
          SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}

      - name: 🌐 Upload IPA to TestApp.io
        uses: testappio/github-action@v5
        with:
          api_token: ${{ secrets.TESTAPPIO_API_TOKEN }}
          app_id: ${{ secrets.TESTAPPIO_APP_ID }}
          file: ./ipa/ios-staging-build.ipa
          release_notes: ''
          git_release_notes: true
          include_git_commit_id: true
          notify: true

Android

name: Upload APK to TestApp.io
on:
  workflow_dispatch:

jobs:
  android:
    runs-on: ubuntu-latest
    steps:
      - name: 🏗 Setup repo
        uses: actions/checkout@v3

      - name: 🏗 Setup Node
        uses: actions/setup-node@v3
        with:
          node-version: 18.x
          cache: yarn

      - name: 🏗 Setup EAS
        uses: expo/expo-github-action@v8
        with:
          eas-version: latest
          token: ${{ secrets.EXPO_TOKEN }}

      - name: 📦 Install dependencies
        run: yarn install

      - name: 🚀 Build app
        run: eas build -p android --profile staging --local --non-interactive --clear-cache --output "./apk/android-staging-build.apk"
        env:
          SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}

      - name: 🌐 Upload APK to TestApp.io
        uses: testappio/github-action@v5
        with:
          api_token: ${{secrets.TESTAPPIO_API_TOKEN}}
          app_id: ${{secrets.TESTAPPIO_APP_ID}}
          file: ./apk/android-staging-build.apk
          release_notes: ""
          git_release_notes: true
          include_git_commit_id: true
          notify: true


Need help? Contact us — we're happy to assist!