Repository navigation
Maestro QA #183
This file contains hidden or 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
| # SPDX-FileCopyrightText: 2024 Foundation Devices, Inc. <hello@foundation.xyz> | |
| # SPDX-License-Identifier: GPL-3.0-or-later | |
| name: Maestro QA | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| platform: | |
| description: 'Platform to run tests on' | |
| required: true | |
| default: 'android' | |
| type: choice | |
| options: | |
| - android | |
| - ios | |
| - both | |
| schedule: | |
| - cron: '0 1 * * *' # Run daily at 1 AM UTC (after Beef QA) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| jobs: | |
| maestro-qa-android: | |
| if: ${{ github.event_name == 'schedule' || github.event.inputs.platform == 'android' || github.event.inputs.platform == 'both' }} | |
| runs-on: [ self-hosted, macOS, ARM64 ] | |
| steps: | |
| - uses: extractions/setup-just@v1 | |
| - uses: actions/checkout@v4 | |
| - name: Check connected Android device | |
| run: | | |
| export ANDROID_HOME="$HOME/Library/Android/sdk" | |
| export PATH="$ANDROID_HOME/platform-tools:$PATH" | |
| echo "Checking for connected Android devices..." | |
| adb devices | |
| DEVICE_COUNT=$(adb devices | grep -w "device" | wc -l) | |
| if [ "$DEVICE_COUNT" -eq 0 ]; then | |
| echo "Error: No Android device connected" | |
| exit 1 | |
| fi | |
| echo "Found $DEVICE_COUNT device(s)" | |
| - name: Run Maestro Android Tests (builds and installs APK) | |
| run: just maestroqa | |
| - name: Upload failure videos | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: maestro-failure-videos | |
| path: fail-videos/ | |
| if-no-files-found: ignore | |
| retention-days: 14 | |
| maestro-qa-ios: | |
| if: ${{ github.event.inputs.platform == 'ios' || github.event.inputs.platform == 'both' }} | |
| runs-on: [ self-hosted, macOS, ARM64 ] | |
| steps: | |
| - uses: extractions/setup-just@v1 | |
| - uses: actions/checkout@v4 | |
| - name: Run Maestro iOS Tests (builds and installs app) | |
| run: just maestroqaios |