Github Action
GitHub Actions makes it easy to automate all your software workflows with world-class CI/CD. Build, test, and deploy your code right from GitHub. Make code reviews, branch management, and issue triaging work the way you want.
Adding our action to your repo will automatically build and upload the APK for the Android app & the IPA for the iOS app to TestApp.io app distribution and notify all testers to test it and share feedback.
This action uploads artifacts (.apk or .ipa) to TestApp.io and notifies your team members.
- name: TestApp.io App Distribution
uses: testappio/github-action@v5
Requirements
This action will execute on runners with Ubuntu & macOS operating systems.
Configuration
Key | Description | Env Var(s) | Default |
---|---|---|---|
api_token | You can get it from https://portal.testapp.io/settings/api-credentials | TESTAPPIO_API_TOKEN | |
app_id | You can get it from your app page at https://portal.testapp.io/apps | TESTAPPIO_APP_ID | |
release | It can be either both or Android or iOS | TESTAPPIO_RELEASE | |
file | Path to the either Android .APK file or iOS .IPA file | TESTAPPIO_ANDROID_PATH | |
release_notes | Manually add the release notes to be displayed for the testers | TESTAPPIO_RELEASE_NOTES | |
git_release_notes | Collect release notes from the latest git commit message to be displayed for the testers: true or false | TESTAPPIO_GIT_RELEASE_NOTES | true |
include_git_commit_id | Include the last commit ID in the release notes (works with both release notes options): true or false | TESTAPPIO_GIT_COMMIT_ID | false |
notify | Send notifications to your team members about this release: true or false | TESTAPPIO_NOTIFY | false |
Check TA-CLI for more info
Sample usage for Android
name: Workflow to upload APK to TestApp.io
on:
push:
branches:
- main
jobs:
android:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build release
run: ./gradlew assembleDebug
- name: Upload APK TestApp.io
uses: testappio/github-action@v5
with:
api_token: ${{secrets.TESTAPPIO_API_TOKEN}}
app_id: ${{secrets.TESTAPPIO_APP_ID}}
file: app/build/outputs/apk/debug/app-debug.apk
release_notes: ""
git_release_notes: true
include_git_commit_id: false
notify: true
If you want a debug version, replace the following:
run: ./gradlew assembleDebug
file: app/build/outputs/apk/debug/app-debug.apk
Sample usage for iOS
name: Workflow to upload IPA to TestApp.io
on:
push:
branches:
- main
jobs:
ios:
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Build and export iOS
uses: yukiarrr/ios-build-action@v1.4.0
with:
project-path: ios/testappio.xcodeproj
workspace-path: ios/testappio.xcworkspace
scheme: testappio
export-method: ad-hoc
configuration: Release
output-path: artifacts/output.ipa
p12-base64: ${{ secrets.P12_BASE64 }}
certificate-password: ${{ secrets.P12_PASSWORD }}
mobileprovision-base64: ${{ secrets.ADHOC_MOBILEPROVISION_BASE64 }}
code-signing-identity: ${{ secrets.CODE_SIGNING_IDENTITY }}
team-id: ${{ secrets.TEAM_ID }}
- name: Upload artifact to TestApp.io
uses: testappio/github-action@v5
with:
api_token: ${{ secrets.TESTAPPIO_API_TOKEN }}
app_id: ${{ secrets.TESTAPPIO_APP_ID }}
file: artifacts/output.ipa
release_notes: ""
git_release_notes: true
include_git_commit_id: false
notify: true
More info about the iOS build & export action https://github.com/yukiarrr/ios-build-action
Install
- name: TestApp.io App Distribution
uses: testappio/github-action@v5
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 🎉