Skip to content

feat(ci): add mobile E2E dispatch trigger for React Native (ENG-2344)#1865

Open
luans-qa wants to merge 3 commits into
mainfrom
feat/eng-2344-e2e-mobile-trigger
Open

feat(ci): add mobile E2E dispatch trigger for React Native (ENG-2344)#1865
luans-qa wants to merge 3 commits into
mainfrom
feat/eng-2344-e2e-mobile-trigger

Conversation

@luans-qa
Copy link
Copy Markdown
Contributor

@luans-qa luans-qa commented May 27, 2026

Summary

  • Adds .github/workflows/e2e-mobile-trigger.yml which fires on every PR push touching apps/wallets/expo/**, packages/wallets/**, or packages/client/**
  • Dispatches to crossmint-mobile-e2e-tests via repository_dispatch — the test repo builds the app, runs Maestro flows, and posts a mobile-e2e / react-native commit status check back to this PR

Depends on: Crossmint/crossmint-mobile-e2e-tests PR #1 being merged first (the test repo workflows must exist before this dispatch has something to call).

Test plan


Open in Devin Review

On every PR push that touches apps/wallets/expo, packages/wallets, or
packages/client, dispatches to crossmint-mobile-e2e-tests via
repository_dispatch. The test repo builds the app, runs Maestro flows,
and posts a commit status check back to this PR.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 27, 2026

⚠️ No Changeset found

Latest commit: b654171

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 27, 2026

Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
.github/workflows/e2e-mobile-trigger.yml:17-19
**Missing concurrency control**

Without a `concurrency` group, every push to a PR dispatches a separate E2E run to `crossmint-mobile-e2e-tests`. If a developer pushes two commits in quick succession, both runs will report a status back to `commit_sha` — whichever finishes last wins, but the intermediate status (e.g., an early `failure` overwritten by a later `success`) can confuse reviewers and wastes CI resources in the external repo. A `concurrency` key with `cancel-in-progress: true` ensures only the run for the latest push is live at any time.

### Issue 2 of 2
.github/workflows/e2e-mobile-trigger.yml:6-7
**Draft PRs are not excluded**

The trigger fires on `opened`, `synchronize`, and `reopened` with no draft exclusion. Heavy E2E jobs will kick off for every draft push, even before the PR is ready for review. Adding `ready_for_review` to the `types` list and excluding `draft: true` (or using an `if:` guard) is the common pattern for avoiding wasted E2E cycles on work-in-progress branches.

Reviews (1): Last reviewed commit: "feat(ci): add mobile E2E dispatch trigge..." | Re-trigger Greptile

@luans-qa luans-qa self-assigned this May 27, 2026
greptile-apps[bot]

This comment was marked as resolved.

- Add concurrency group keyed on PR number with cancel-in-progress so
  rapid successive pushes don't queue multiple dispatches to the test repo
- Add ready_for_review to pull_request types so converting a draft fires
- Add if: draft == false guard so pushes to draft PRs are silently skipped

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 27, 2026

Reviews (2): Last reviewed commit: "fix(ci): add concurrency control and ski..." | Re-trigger Greptile

@luans-qa
Copy link
Copy Markdown
Contributor Author

Fixed in d899fa7. Added concurrency group keyed on PR number with cancel-in-progress: true, added ready_for_review to the trigger types, and added if: github.event.pull_request.draft == false to the job.

Comment thread .github/workflows/e2e-mobile-trigger.yml Outdated
Replace the broad packages/client/** glob with the specific packages
the Expo app depends on:
- apps/wallets/shared/** (@crossmint/wallets-playground-shared)
- packages/client/ui/react-native/** (@crossmint/client-sdk-react-native-ui)
- packages/client/rn-window/** (RN window polyfill)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 29, 2026

Reviews (3): Last reviewed commit: "fix(ci): narrow mobile E2E trigger paths..." | Re-trigger Greptile

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 2 additional findings.

Open in Devin Review

- "apps/wallets/expo/**"
- "apps/wallets/shared/**"
- "packages/wallets/**"
- "packages/client/ui/react-native/**"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you're missing react-base

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.

2 participants