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: trueAndroid
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: trueRelated Setup Guides
Need help? Contact us β we're happy to assist!