Skip to content

feat: run android tests on ubuntu #331

feat: run android tests on ubuntu

feat: run android tests on ubuntu #331

Workflow file for this run

name: mocha-android
on:
pull_request:
branches:
- 'master'
push:
branches:
- 'master'
jobs:
mocha-android:
runs-on: ubuntu-latest
timeout-minutes: 120
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
# - name: Setup Docker Colima 1
# uses: douglascamata/setup-docker-macos-action@v1-alpha
# id: docker1
# continue-on-error: true
# with:
# lima: v0.18.0
# colima: v0.5.6
# - name: Setup Docker Colima 2
# if: steps.docker1.outcome != 'success'
# uses: douglascamata/setup-docker-macos-action@v1-alpha
# id: docker2
# continue-on-error: true
# with:
# lima: v0.18.0
# colima: v0.5.6
# - name: Setup Docker Default
# if: steps.docker1.outcome != 'success' && steps.docker2.outcome != 'success'
# uses: docker-practice/[email protected]
# timeout-minutes: 30
- name: Free Disk Space
uses: jlumbroso/free-disk-space@main
with:
# this might remove tools that are actually needed,
# if set to "true" but frees about 6 GB
tool-cache: false
android: false
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: yarn and gradle caches in /mnt
run: |
rm -rf ~/.yarn
rm -rf ~/.gradle
sudo mkdir -p /mnt/.yarn
sudo mkdir -p /mnt/.gradle
sudo chown -R runner /mnt/.yarn
sudo chown -R runner /mnt/.gradle
ln -s /mnt/.yarn /home/runner/
ln -s /mnt/.gradle /home/runner/
- name: Create artifacts directory on /mnt
run: |
sudo mkdir -p /mnt/artifacts
sudo chown -R runner /mnt/artifacts
- name: Node
uses: actions/setup-node@v4
with:
node-version: 20
# cache: 'yarn' # cache packages, but not node_modules
# cache-dependency-path: 'example/yarn.lock'
- name: Use yarn caches
uses: actions/cache@v4
with:
path: ~/.yarn
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Run regtest setup
working-directory: example/docker
run: |
mkdir lnd
mkdir clightning
chmod 777 lnd clightning
docker-compose up -d --quiet-pull
- name: Wait for electrum server
timeout-minutes: 2
run: while ! nc -z '127.0.0.1' 60001; do sleep 1; done
- name: Install lib dependencies
working-directory: lib
run: yarn || yarn
- name: Build lib
working-directory: lib
run: yarn build
- name: Use gradle caches
uses: actions/cache@v2
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Install node_modules
working-directory: example
run: (yarn install || yarn install) && yarn rn-setup
- name: Use specific Java version for sdkmanager to work
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: run tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 31
avd-name: Pixel_API_31_AOSP
emulator-options: -no-window -gpu swiftshader_indirect -no-snapshot -noaudio -no-boot-anim -camera-back none -camera-front none -partition-size 2047
arch: x86_64
disable-animations: true
working-directory: example
script: |
../.github/workflows/mocha-anrdoid.sh
- uses: actions/upload-artifact@v4
if: failure()
with:
name: ldk-data
path: /mnt/artifacts