Skip to content

chore: test

chore: test #74

Workflow file for this run

name: e2e tests iOS
on: [push]
jobs:
test-ios:
name: e2e-ios-test
runs-on: macos-latest
steps:
- name: checkout
uses: actions/checkout@v3
# build opaque_rust lib
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r23b
- name: Add iOS targets
working-directory: rust
run: rustup target add x86_64-apple-ios aarch64-apple-ios aarch64-apple-ios-sim
- name: Add Android targets
working-directory: rust
run: rustup target add i686-linux-android x86_64-linux-android aarch64-linux-android arm-linux-androideabi
- name: Install cxxbridge
working-directory: rust
run: cargo install cxxbridge-cmd
- name: build
working-directory: rust
run: ./build-all.sh
env:
NDK: ${{ steps.setup-ndk.outputs.ndk-path }}
# build App
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- uses: actions/cache@v2
with:
path: example/ios/Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-
- name: Install node_modules
run: yarn
- name: Build iOS App
working-directory: example
# run: yarn run react-native run-ios --configuration Release --simulator "iPhone 13 (15.2)"
run: yarn run react-native run-ios --mode Release
# Install Maestro
- name: Install Maestro CLI
run: |
curl -Ls "https://get.maestro.mobile.dev" | bash
brew tap facebook/fb
brew install facebook/fb/idb-companion
- name: Add Maestro to path
run: echo "${HOME}/.maestro/bin" >> $GITHUB_PATH
# Run e2e test
- name: Test
run: maestro test e2e-tests/maestro-flow-ios.yml
# - name: Debug
# if: always()
# run: maestro hierarchy