Ad-hoc Release Tests - Maestro Cloud #132
Workflow file for this run
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
| name: Release - Run E2E Maestro Tests | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| app-version: | |
| description: 'App Version for Testing' | |
| required: true | |
| default: 'PLACEHOLDER' | |
| type: string | |
| jobs: | |
| run-release-tests: | |
| name: Create release APK and run E2E Maestro tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout develop | |
| uses: actions/checkout@v4 | |
| with: | |
| ref: develop | |
| submodules: recursive | |
| - name: Checkout and Assemble | |
| id: assemble | |
| uses: ./.github/actions/checkout-and-assemble | |
| with: | |
| commit: ${{ inputs.app-version }} | |
| flavours: 'play' | |
| release_properties: ${{ secrets.FAKE_RELEASE_PROPERTIES }} | |
| release_key: ${{ secrets.FAKE_RELEASE_KEY }} | |
| gradle_encryption_key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} | |
| develocity_access_key: ${{ secrets.DEVELOCITY_ACCESS_KEY }} | |
| - name: Maestro tests flows | |
| id: release-tests | |
| uses: mobile-dev-inc/action-maestro-cloud@v1.9.8 | |
| timeout-minutes: 120 | |
| with: | |
| api-key: ${{ secrets.ROBIN_API_KEY }} | |
| project-id: ${{ vars.ROBIN_ANDROID_PROJECT_ID }} | |
| timeout: ${{ vars.ROBIN_TIMEOUT_MINUTES }} | |
| app-file: ${{ steps.assemble.outputs.play_apk_path }} | |
| android-api-level: 30 | |
| workspace: .maestro | |
| include-tags: releaseTest | |
| - name: Analyze Maestro Flow Results | |
| if: always() | |
| id: analyze-flow-results | |
| uses: ./.github/actions/maestro-flow-analyzer | |
| with: | |
| flow_results_json: ${{ steps.release-tests.outputs.MAESTRO_CLOUD_FLOW_RESULTS }} | |
| console_url: ${{ steps.release-tests.outputs.MAESTRO_CLOUD_CONSOLE_URL }} | |
| upload_status: ${{ steps.release-tests.outputs.MAESTRO_CLOUD_UPLOAD_STATUS }} | |
| app_binary_id: ${{ steps.release-tests.outputs.MAESTRO_CLOUD_APP_BINARY_ID }} | |
| - name: Access Outputs (for debugging) | |
| if: always() | |
| run: | | |
| echo "Console URL: ${{ steps.release-tests.outputs.MAESTRO_CLOUD_CONSOLE_URL }}" | |
| echo 'Flow Results (JSON): ${{ steps.release-tests.outputs.MAESTRO_CLOUD_FLOW_RESULTS }}' | |
| echo "Release Tests Step Conclusion: ${{ steps.release-tests.conclusion }}" # From Maestro action itself | |
| echo "Analyzed Flow Summary Status: ${{ steps.analyze-flow-results.outputs.flow_summary_status }}" # From analyzer action | |
| printf "Analyzed Flow Summary Message:\n%s\n" "${{ steps.analyze-flow-results.outputs.flow_summary_message }}" |