fix(e2e): update Maestro flows for 1.40.0 config section requirement#2040
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThis pull request adds parameterized app identifier configuration to E2E testing infrastructure. The changes set platform-specific Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Pull request overview
Updates the repo’s Maestro E2E setup to comply with Maestro 1.40.0’s breaking change that requires every individual flow YAML to include its own config section (with appId + ---), and wires the per-platform app id into CI via APP_ID.
Changes:
- Prepended
appId: ${APP_ID}and---to all.maestro/flows/**.yamlflows so each flow is self-contained for Maestro 1.40.0. - Updated the GitHub Actions E2E workflow to pass
APP_IDfor iOS and Android Maestro runs.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| .maestro/flows/trips/trip-detail-flow.yaml | Adds required per-flow config header using ${APP_ID}. |
| .maestro/flows/trips/create-trip-flow.yaml | Adds required per-flow config header using ${APP_ID}. |
| .maestro/flows/setup/clear-state.yaml | Adds required per-flow config header using ${APP_ID}. |
| .maestro/flows/profile/profile-view-flow.yaml | Adds required per-flow config header using ${APP_ID}. |
| .maestro/flows/packs/pack-detail-flow.yaml | Adds required per-flow config header using ${APP_ID}. |
| .maestro/flows/packs/create-pack-flow.yaml | Adds required per-flow config header using ${APP_ID}. |
| .maestro/flows/packs/add-item-actions-flow.yaml | Adds required per-flow config header using ${APP_ID}. |
| .maestro/flows/negative/empty-trip-submit-flow.yaml | Adds required per-flow config header using ${APP_ID}. |
| .maestro/flows/negative/empty-pack-submit-flow.yaml | Adds required per-flow config header using ${APP_ID}. |
| .maestro/flows/dashboard/dashboard-tiles-flow.yaml | Adds required per-flow config header using ${APP_ID}. |
| .maestro/flows/catalog/catalog-item-detail-flow.yaml | Adds required per-flow config header using ${APP_ID}. |
| .maestro/flows/catalog/catalog-browse-flow.yaml | Adds required per-flow config header using ${APP_ID}. |
| .maestro/flows/auth/logout-flow.yaml | Adds required per-flow config header using ${APP_ID}. |
| .maestro/flows/auth/login-flow.yaml | Adds required per-flow config header using ${APP_ID}. |
| .github/workflows/e2e-tests.yml | Exports APP_ID per platform so ${APP_ID} resolves in flows during CI. |
| appId: ${APP_ID} | ||
| --- |
Deploying packrat-landing with
|
| Latest commit: |
03a5e92
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://cd2d24f8.packrat-landing.pages.dev |
| Branch Preview URL: | https://worktree-fix-e2e-maestro-con.packrat-landing.pages.dev |
Deploying packrat-guides with
|
| Latest commit: |
03a5e92
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://8152daff.packrat-guides-6gq.pages.dev |
| Branch Preview URL: | https://worktree-fix-e2e-maestro-con.packrat-guides-6gq.pages.dev |
Maestro 1.40.0 broke all flow files that lacked a per-file config section.
Each flow now starts with `appId: ${APP_ID}` followed by a `---` separator,
and the CI workflow passes APP_ID per platform (iOS: com.andrewbierman.packrat,
Android: com.packratai.mobile) so the variable is resolved at runtime.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
03a5e92 to
3f66afa
Compare
Add 14 new Maestro E2E flows plus a standalone suite runner script,
extending the existing .maestro/ suite on development with broader
coverage across AI chat, catalog search, pack management, trip editing,
dashboard templates, guides, session persistence, and negative paths.
New flows:
- ai/ai-chat-dashboard-flow.yaml
- ai/ai-chat-pack-flow.yaml
- catalog/catalog-search-flow.yaml
- dashboard/pack-templates-flow.yaml
- guides/guides-browse-flow.yaml
- helpers/handle-chooser.yaml
- negative/invalid-login-flow.yaml
- packs/add-item-catalog-flow.yaml
- packs/add-item-in-pack-catalog-flow.yaml
- packs/add-item-manual-flow.yaml
- packs/pack-edit-share-flow.yaml
- packs/pack-toggle-filter-flow.yaml
- setup/session-persistence-flow.yaml
- trips/trip-edit-flow.yaml
All new flows use the upstream \${APP_ID} env-var convention from #2040
so they work with any bundle identifier. Also adds .maestro/run-suite.sh
which runs the full ordered suite locally with a single command, wiring
through APP_ID, TEST_EMAIL, and TEST_PASSWORD.
Origin: extracted from #1867 (scope-clean split).
fix(e2e): update Maestro flows for 1.40.0 config section requirement
Add 14 new Maestro E2E flows plus a standalone suite runner script,
extending the existing .maestro/ suite on development with broader
coverage across AI chat, catalog search, pack management, trip editing,
dashboard templates, guides, session persistence, and negative paths.
New flows:
- ai/ai-chat-dashboard-flow.yaml
- ai/ai-chat-pack-flow.yaml
- catalog/catalog-search-flow.yaml
- dashboard/pack-templates-flow.yaml
- guides/guides-browse-flow.yaml
- helpers/handle-chooser.yaml
- negative/invalid-login-flow.yaml
- packs/add-item-catalog-flow.yaml
- packs/add-item-in-pack-catalog-flow.yaml
- packs/add-item-manual-flow.yaml
- packs/pack-edit-share-flow.yaml
- packs/pack-toggle-filter-flow.yaml
- setup/session-persistence-flow.yaml
- trips/trip-edit-flow.yaml
All new flows use the upstream \${APP_ID} env-var convention from #2040
so they work with any bundle identifier. Also adds .maestro/run-suite.sh
which runs the full ordered suite locally with a single command, wiring
through APP_ID, TEST_EMAIL, and TEST_PASSWORD.
Origin: extracted from #1867 (scope-clean split).
Summary
appId:+---separator).maestro/flows/now start withappId: ${APP_ID}followed by---APP_IDper platform via env vars (iOS:com.andrewbierman.packrat, Android:com.packratai.mobile)config.yaml/config-android.yamlsuite-level configs remain unchangedRoot Cause
E2E tests were failing on
mainbefore this PR —gh run listconfirmed the pre-existing breakage. Maestro 1.40.0 (pinned in the workflow) changed the flow file format, requiring every flow to declare itsappIdupfront rather than inheriting it only from the suite config.Test plan
APP_IDresolves correctly per platform at runtimeconfig.yaml/config-android.yamlis unaffectedSummary by CodeRabbit