Skip to content

Use Github Actions

Use Github Actions #62

Workflow file for this run

name: Android Build and Test
on:
push:
branches:
- '**'
pull_request:
branches:
- '**'
jobs:
build:
runs-on: ubuntu-latest
env:
TARGET_VERSION: 30
ANDROID_BUILD_TOOLS_VERSION: 30.0.2
ANDROID_HOME: /usr/local/android-sdk
MALLOC_ARENA_MAX: 2
ADB_INSTALL_TIMEOUT: 20
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '11'
- name: Install command line tools
run: |
sudo mkdir -p $ANDROID_HOME/cmdline-tools
sudo wget "https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip" -O commandlinetools.zip
sudo unzip commandlinetools.zip -d $ANDROID_HOME/cmdline-tools
sudo mv $ANDROID_HOME/cmdline-tools/cmdline-tools $ANDROID_HOME/cmdline-tools/latest
rm commandlinetools.zip
- name: Setup Android SDK
uses: android-actions/setup-android@v2
- name: Install Android SDK components
run: |
cd $ANDROID_HOME/cmdline-tools/latest/bin
./sdkmanager "platform-tools"
./sdkmanager "emulator"
./sdkmanager "tools"
./sdkmanager "build-tools;${ANDROID_BUILD_TOOLS_VERSION}"
./sdkmanager "platforms;android-${TARGET_VERSION}"
./sdkmanager "system-images;android-30;google_apis;x86"
- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Create AVD
run: |
cd $ANDROID_HOME/cmdline-tools/latest/bin
echo no | ./avdmanager create avd -n test -k "system-images;android-30;google_apis;x86" --force
- name: Start ADB Server
run: adb start-server
- name: Start Emulator
run: |
echo "Starting emulator..."
export PATH=$PATH:$ANDROID_HOME/emulator
emulator -avd test -no-audio -no-window -no-boot-anim -no-metrics &
# Wait for the emulator to start up
sleep 120
- name: Check ADB Devices
run: adb devices
- name: Check Emulator Version
run: adb shell getprop ro.build.version.sdk
- name: Check Emulator Status
run: adb shell getprop sys.boot_completed
- name: Export CLOUDINARY_URL
run: |
export CLOUDINARY_URL=$(bash tools/get_test_cloud.sh)
echo "CLOUDINARY_URL=$CLOUDINARY_URL" >> $GITHUB_ENV
- name: Run tests
run: ./gradlew clean connectedCheck --stacktrace