Skip to content

Run android regression tests #151

Run android regression tests

Run android regression tests #151

name: Run android regression tests
on:
workflow_dispatch:
inputs:
APK_URL:
description: 'APK.tar.gz url to test'
required: true
type: string
default: https://oxen.rocks/oxen-io/session-android/release/1.19.2/session-android-20240821T063349Z-20e1fbceb-universal.tar.xz
# BRANCH_TO_CHECKOUT:
# description: 'bilb/session-appium branch to checkout'
# required: true
# type: string
# default: august
SHARD_NUMBER:
description: 'shard number'
required: true
type: string
default: '1'
SHARD_COUNT:
description: 'shard count'
required: true
type: string
default: '4'
# push:
# branches:
# - test-docker-container
# concurrency:
# group: ${{ github.workflow }}
# cancel-in-progress: true
jobs:
android-regression:
runs-on: [self-hosted, linux, x64, qa-android]
env:
ANDROID_APP_PATH_PREFIX: "../extracted/session-android.apk"
APPIUM_ADB_FULL_PATH: "/opt/android/platform-tools/adb"
ANDROID_SDK_ROOT: "/opt/android"
PLAYWRIGHT_WORKERS_COUNT: 1
IOS_APP_PATH_PREFIX: "just_not_empty"
IOS_FIRST_SIMULATOR: "just_not_empty"
IOS_SECOND_SIMULATOR: "just_not_empty"
IOS_THIRD_SIMULATOR: "just_not_empty"
IOS_FOURTH_SIMULATOR: "just_not_empty"
IOS_FIFTH_SIMULATOR: "just_not_empty"
IOS_SIXTH_SIMULATOR: "just_not_empty"
IOS_SEVENTH_SIMULATOR: "just_not_empty"
IOS_EIGHTH_SIMULATOR: "just_not_empty"
steps:
- uses: actions/checkout@v4
- name: Runner Details
run: |
echo "BRANCH_TO_CHECKOUT ${{ github.event.inputs.BRANCH_TO_CHECKOUT }}"
echo "APK_URL ${{ github.event.inputs.APK_URL }}"
echo "SHARD_NUMBER ${{ github.event.inputs.SHARD_NUMBER }}"
echo "SHARD_COUNT ${{ github.event.inputs.SHARD_COUNT }}"
- name: Download APK
run: |
wget -q -O plop.apk.tar.xz ${{ github.event.inputs.APK_URL }}
ls
pwd
- name: Extract APK
run: |
tar xf plop.apk.tar.xz
ls
pwd
- name: Rename extracted folder
run: |
mv session-android-*universal extracted
ls extracted
mv extracted/*.apk extracted/session-android.apk
ls extracted
pwd
- uses: actions/checkout@v4
with:
repository: 'burtonemily/session-appium'
ref: 6c9bd8e671ef5c916129d04467e950749f63da0f # ${{ github.event.inputs.BRANCH_TO_CHECKOUT }}​​
path: 'forked-session-appium'
- uses: actions/setup-node@v4
with:
# node-version-file: 'forked-session-appium/.nvmrc'
node-version: 18.15.0
- name: Install yarn
run: |
npm install -g yarn
corepack enable
yarn set version 4.1.1
- name: Install test dependencies
run: |
cd forked-session-appium
ls
git status
touch yarn.lock
yarn install --immutable
- name: Build the Android tests
run: |
cd forked-session-appium
yarn tsc
# - name: Start 4 android emulators with snapshots
# shell: bash
# run: |
# for i in {1..4} \
# do \
# emulator @emulator$i -no-window -no-snapshot-save -snapshot plop.snapshot -force-snapshot-load & ; \
# sleep 5 \
# done
- name: Run the Android tests
run: |
cd forked-session-appium
pwd
yarn test-android-shard ${{ github.event.inputs.SHARD_NUMBER }}​​/${{ github.event.inputs.SHARD_COUNT }}​​
# - name: Killall running emulators
# if: always()
# run: killall qemu-system-x86_64-headless;