Skip to content

[#516]: Migrate Maestro E2E to EAS Workflows - #518

Merged
mattrace-gloo merged 1 commit into
mainfrom
mrace/chore/516-eas-maestro-workflows
Sep 12, 2026
Merged

[#516]: Migrate Maestro E2E to EAS Workflows#518
mattrace-gloo merged 1 commit into
mainfrom
mrace/chore/516-eas-maestro-workflows

Conversation

@mattrace-gloo

Copy link
Copy Markdown
Collaborator

TLDR

Hosted Maestro Android E2E now runs on EAS Workflows (type: maestro) with an Android-only e2e-test APK profile. Removes the GitHub Actions emulator workflow and scripts/maestro-ci-emulator.sh so we follow Expo’s canonical path instead of fighting GHA timeouts.

Reviewer checklist

  • GitHub issue linked in Details (Refs #NNN — do not use Closes / Fixes / Resolves; use Refs: none only for explicit no-ticket chores)
  • How to verify steps completed or valid waiver noted below
  • Acceptance criteria met, or unmet AC waived in the issue with linked follow-up (see AGENTS.md)
  • Scope limited to this issue — no adjacent tickets implemented/stubbed without approval
  • Needs QA? decided (see docs/guides/qa-process.md)

Details

Refs #516

Replace GHA Maestro with .eas/workflows/maestro-android.yml (build → conditional harness/smokes/multi-account). Manual workflow_dispatch only — not a PR merge gate. Local Debug+Metro Maestro scripts unchanged.

Needs QA?

  • No — engineering-only (docs, CI, refactor, logging, etc.)
  • Yes — post-merge nightly QA (see docs/guides/qa-process.md)

Type of change:

  • Bug fix
  • New feature
  • Breaking change
  • Documentation
  • Maintenance / refactor

Technical changes

  • .eas/workflows/maestro-android.yml — EAS build + maestro jobs; suite input; preview secret hooks
  • eas.json — Android-only e2e-test profile (withoutCredentials, APK, preview env)
  • package.jsonmaestro:eas → pinned eas-cli@24.3.0 workflow:run
  • Deleted .github/workflows/maestro-android.yml and scripts/maestro-ci-emulator.sh
  • Docs: docs/guides/maestro.md, docs/ci.md, .eas/README.md, .github/README.md, docs/AGENT_ONBOARDING.md

Testing

  • npm run format:check, lint, architecture-guard, typecheck, npm test -- --ci
  • Expo MCP workflow_validate passed for the Maestro workflow YAML
  • Repo code-reviewer Should-fixes applied (tag-based smokes path, preview secret scope note, pinned eas-cli)

How to verify

  1. Confirm no .github/workflows/maestro-android.yml and that CI inventory / Maestro guide point at .eas/workflows/maestro-android.yml.
  2. After merge (needs EXPO_TOKEN + EAS preview secrets for smokes): npm run maestro:eas -- -F suite=harness and watch the EAS dashboard.
  3. Optional: add MAESTRO_* as Secret vars on EAS preview, then suite=smokes.

Expected: Harness builds an e2e-test APK and runs .maestro/flows/smoke-launch.yaml on nested-virt; GHA no longer runs Maestro.

Follow-ups

  • One-time: set EAS preview MAESTRO_* secrets (broader than old GHA job secrets — see maestro.md).
  • Prove green hosted harness run post-merge; then consider smokes/multi-account.

Use Expo-canonical type: maestro + e2e-test APK profile; drop the GHA emulator job and helper script.
@mattrace-gloo mattrace-gloo self-assigned this Sep 12, 2026
@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mattrace-gloo
mattrace-gloo marked this pull request as ready for review September 12, 2026 00:08
@mattrace-gloo
mattrace-gloo merged commit 8443c51 into main Sep 12, 2026
15 checks passed
@mattrace-gloo
mattrace-gloo deleted the mrace/chore/516-eas-maestro-workflows branch September 12, 2026 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant