Skip to main content

Github Action

Build and upload both your Android (APK) & iOS (IPA) to notify your testers for testing and feedback using Github Action

Updated over 2 years ago

๐Ÿ’กBETA mode. Your feedback is highly appreciated!

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 as 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 the TestApp.io app distribution and notify all testers to test it and share feedback.

TestApp.io Github Action for Linux and macOS

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

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 Android or iOS

TESTAPPIO_RELEASE

file

Path to 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/[email protected]
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 ๐ŸŽ‰

Did this answer your question?