Bump expo-device from 7.0.1 to 7.0.2 #948
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: React Native - Android E2E tests | |
## This GH Action is now disabled due to issues with new Expo/RN | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
rn_e2e_android: | |
runs-on: ubuntu-latest | |
timeout-minutes: 40 | |
permissions: | |
contents: read | |
packages: read | |
services: | |
fishjam: | |
image: ghcr.io/fishjam-cloud/fishjam:0.10.0-dev | |
credentials: | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
env: | |
FJ_CHECK_ORIGIN: false | |
FJ_HOST: localhost:5002 | |
FJ_PORT: "5002" | |
FJ_WEBRTC_USED: true | |
FJ_WEBRTC_TURN_PORT_RANGE: 50000-50050 | |
FJ_WEBRTC_TURN_IP: 127.0.0.1 | |
FJ_WEBRTC_TURN_LISTEN_IP: 0.0.0.0 | |
FJ_SERVER_API_TOKEN: development | |
ports: | |
- 5002:5002 | |
- 50000-50050:50000-50050/udp | |
env: | |
ARCH: "x86_64" | |
TARGET: "default" | |
API_LEVEL: "33" | |
BUILD_TOOLS: "33.0.0" | |
ANDROID_API_LEVEL: android;33 | |
ANDROID_APIS: google_apis;x86_64 | |
EMULATOR_PACKAGE: system-images;android-33;default;x86_64 | |
EMULATOR_NAME: "nexus" | |
EMULATOR_DEVICE: "Nexus 6" | |
PLATFORM_VERSION: platforms;android-33 | |
BUILD_TOOL: "build-tools;33.0.0" | |
ANDROID_CMD: "commandlinetools-linux-10406996_latest.zip" | |
ANDROID_APP_PATH: ${{ github.workspace | |
}}/examples/fishjam-chat/android/app/build/outputs/apk/release/app-release.apk | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Create .env file in webdriverio-test directory | |
run: | | |
echo -e " | |
FISHJAM_HOST_SERVER=127.0.0.1:5002 | |
FISHJAM_HOST_MOBILE=10.0.2.2:5002 | |
ANDROID_DEVICE_NAME=$EMULATOR_DEVICE | |
ANDROID_APP_PATH=$ANDROID_APP_PATH | |
" > $GITHUB_WORKSPACE/examples/webdriverio-test/.env | |
- name: Enable KVM group perms | |
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: Delete unnecesary files | |
run: | | |
sudo rm -rf /usr/share/dotnet | |
sudo rm -rf /opt/ghc | |
sudo rm -rf "/usr/local/share/boost" | |
sudo rm -rf "$AGENT_TOOLSDIRECTORY" | |
- name: Install dependencies | |
run: | |
sudo apt-get update && sudo apt install -y curl sudo wget unzip bzip2 | |
libdrm-dev libxkbcommon-dev libgbm-dev libasound-dev libnss3 | |
libxcursor1 libpulse-dev libxshmfence-dev xauth xvfb x11vnc fluxbox | |
wmctrl libdbus-glib-1-2 xvfb | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "22.x" | |
cache: "npm" | |
- name: Use corepack | |
run: corepack enable | |
- name: Run yarn install in root directory | |
run: | | |
cd $GITHUB_WORKSPACE | |
yarn install --frozen-lockfile | |
- name: Upload yarn.lock artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: yarn-lock | |
path: /home/runner/work/mobile-client-sdk/mobile-client-sdk/yarn.lock | |
- name: Run yarn build | |
run: | | |
cd $GITHUB_WORKSPACE | |
yarn build | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4 | |
with: | |
gradle-version: wrapper | |
cache-read-only: false | |
- name: Install appium | |
run: npm i --location=global appium | |
- name: Install UIAnimator 2 | |
run: appium driver install uiautomator2 | |
- name: Setup Java 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: "17" | |
distribution: "zulu" | |
cache: "gradle" | |
cache-dependency-path: | | |
/home/runner/work/mobile-client-sdk/mobile-client-sdk/yarn.lock | |
- name: Setup Android SDK | |
uses: android-actions/setup-android@v3 | |
with: | |
cmdline-tools-version: 8512546 | |
- name: Accept licenses | |
run: echo "y" | sdkmanager --licenses | |
- name: Install emulator | |
run: echo "y" | sdkmanager --verbose --no_https $EMULATOR_PACKAGE | |
- name: Install platform version | |
run: echo "y" | sdkmanager --verbose --no_https $PLATFORM_VERSION | |
- name: Install build tool | |
run: echo "y" | sdkmanager --verbose --no_https $BUILD_TOOL | |
- name: Setup environment and create AVD | |
run: echo "y" | avdmanager --verbose create avd --force --name "nexus" | |
--device "Nexus 6" --package "$EMULATOR_PACKAGE" | |
- name: Start emulator | |
timeout-minutes: 10 | |
run: | | |
/usr/local/lib/android/sdk/tools/emulator -list-avds | |
echo "Starting emulator and waiting for boot to complete...." | |
xvfb-run -a /usr/local/lib/android/sdk/tools/emulator -avd nexus -grpc 8554 -camera-back emulated -camera-front emulated -no-boot-anim & | |
while [ "`adb shell getprop sys.boot_completed | tr -d '\r'`" != "1" ]; do echo "Waiting for emulator boot..."; sleep 5; done | |
adb wait-for-device | |
echo "Emulator has finished booting" | |
adb devices | |
sleep 10 | |
- name: Build release app | |
if: steps.restore-apk.outputs.cache-hit != 'true' | |
timeout-minutes: 20 | |
run: | | |
cd $GITHUB_WORKSPACE/examples/fishjam-chat/ | |
yarn prebuild | |
cd android | |
./gradlew assembleRelease | |
- name: Logs from app to file | |
run: | | |
cd $GITHUB_WORKSPACE/examples/webdriverio-test | |
adb -e logcat "*:S" ReactNative:V ReactNativeJS:V > logs.txt & | |
- name: Run tests | |
run: | | |
cd $GITHUB_WORKSPACE/examples/webdriverio-test | |
npx wdio wdio.conf.ts 2>&1 | tee appium.txt; test ${PIPESTATUS[0]} -eq 0 | |
sleep 10 | |
- name: Upload test output | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: appium.txt | |
path: /home/runner/work/mobile-client-sdk/mobile-client-sdk/examples/webdriverio-test/appium.txt | |
- name: Upload logs from app | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: logs.txt | |
path: /home/runner/work/mobile-client-sdk/mobile-client-sdk/examples/webdriverio-test/logs.txt |