Github Actions (Expo EAS)

💡
BETA mode. Your feedback is highly appreciated!

Setup 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

Feedback & Support

Developers built TestApp.io to solve the pain of app distribution for mobile app development teams.

Join our community for feedback and support.

Happy releasing 🎉