Skip to content

Ad-hoc Release Tests - Maestro Cloud #133

Ad-hoc Release Tests - Maestro Cloud

Ad-hoc Release Tests - Maestro Cloud #133

Workflow file for this run

name: Ad-hoc Release Tests - Maestro Cloud
on:
workflow_dispatch:
inputs:
commit-ref:
description: 'Branch name, tag, or commit SHA to build and test'
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.commit-ref }}
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 }}"