Skip to content

Publish

Publish #321

name: Detox E2E Android (self-hosted)
on:
push:
paths:
- packages/mobile/**
- packages/backend/**
- packages/state-manager/**
- .github/workflows/e2e-android-self.yml
jobs:
detox-android-self-hosted:
timeout-minutes: 25
runs-on: [self-hosted, macOS, ARM64, android]
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Install dependencies
run: |
npm i
npm run lerna bootstrap --scope @quiet/eslint-config,@quiet/logger,@quiet/common,@quiet/types,@quiet/state-manager,@quiet/backend,@quiet/identity,@quiet/mobile,backend-bundle
- name: Pull binaries
run: |
git lfs install --force
git lfs pull
- name: Pass local config
run : |
cat << EOF >> packages/mobile/android/local.properties
ndk.path=/Users/quiet/Library/Android/sdk/ndk/25.1.8937393
EOF
- name: Install pm2
run: npm install pm2@latest -g
- name: Start metro
run: |
cd packages/mobile
pm2 --name METRO start npm -- start
- name: Build Detox
run: |
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
cd packages/mobile
detox build -c android.emu.debug.ci
- name: Run basic tests
run: |
cd packages/mobile
detox test starter -c android.emu.debug.ci
- name: Stop metro
if: always()
run: pm2 stop METRO