name: 'Test' on: workflow_dispatch: jobs: javascript_unit_tests: name: Unit tests - javascript runs-on: macos-latest timeout-minutes: 5 steps: - name: Checkout uses: actions/checkout@v3 - name: Setup node uses: actions/setup-node@v3 with: node-version: 14 cache: 'yarn' - name: Install npm dependencies run: | yarn install --frozen-lockfile - name: Run unit tests run: | yarn test java_unit_tests: name: Unit tests - java runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 with: distribution: 'zulu' java-version: '11' - name: Install npm dependencies working-directory: ./examples/Rn069 run: | yarn install --frozen-lockfile - name: Run unit tests working-directory: ./examples/Rn069/android run: ./gradlew testDebugUnitTest tests_end_to_end: name: End to end tests runs-on: macos-latest defaults: run: working-directory: ./examples/Rn069 steps: - name: checkout uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: 14.18.1 cache: 'yarn' - name: Install npm dependencies (example project) run: yarn install --frozen-lockfile - name: Install npm dependencies (root) run: yarn install --frozen-lockfile working-directory: ./ - uses: actions/setup-java@v3 with: distribution: 'zulu' java-version: '11' - name: brew install --cask android-commandlinetools run: brew install --cask android-commandlinetools - name: Install emulator run: | (while sleep 3; do echo "y"; done) | ~/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager --licenses echo "✨ Licenses accepted" ~/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager --install emulator echo "✨ Installed emulator" ~/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager --install "system-images;android-29;default;x86_64" echo "✨ Installed image" ~/Library/Android/sdk/cmdline-tools/latest/bin/avdmanager --verbose create avd --force --name Pixel_4_API_29 --abi x86_64 --device "pixel" --package "system-images;android-29;default;x86_64" echo "✨ Created AVD" - name: launch.sh uses: nick-fields/retry@v2 with: timeout_minutes: 3 max_attempts: 3 command: bash ./examples/Rn069/scripts/launch.sh - name: launch2.sh run: bash scripts/launch2.sh - name: butler.sh run: bash scripts/butler.sh - name: Build run: | yarn build:android:ci - name: Test run: | yarn test:android:ci - name: Upload artifacts uses: actions/upload-artifact@v2 if: failure() with: name: Failing tests path: ./examples/Rn069/artifacts - name: Kill emulator if: always() run: | bash scripts/kill.sh