Skip to content

ci(e2e): run expo native e2e flows with argent instead of maestro - #9440

Closed
wobsoriano wants to merge 7 commits into
mainfrom
rob/expo-e2e-argent
Closed

ci(e2e): run expo native e2e flows with argent instead of maestro#9440
wobsoriano wants to merge 7 commits into
mainfrom
rob/expo-e2e-argent

Conversation

@wobsoriano

Copy link
Copy Markdown
Member

Description

Replaces Maestro with Argent flow replay in the expo native e2e workflow. Argent keeps a resident tool-server, so per-flow invocations skip the ~14s JVM + XCTest startup Maestro pays on every maestro test; locally the identical flow runs 3.5 to 4x faster, and the full 7-flow Android suite completes in under 3 minutes including per-flow clean-state resets.

All Maestro flows are ported 1:1 to .argent/flows/. Clean-state resets move out of the flows (Argent's launch: never clears app data) into run-argent-flows.sh, which reinstalls + resets the keychain on iOS and pm clears on Android between flows. Credentials flow through Argent secrets (ARGENT_SECRET_*), which the runner redacts from its reports automatically.

Validated locally against the built SDK 57 fixture: the Android suite passes twice consecutively with zero retries. Do not merge yet: the iOS jobs are expected to fail because Argent's flow runner cannot currently see into clerk-ios's natively presented AuthView sheet (reproduced on 0.20.0 and 0.20.1-next.4; upstream report pending). This draft exists to measure CI runtime against the Maestro baseline.

Checklist

  • pnpm test runs as expected.
  • pnpm build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • other: CI / e2e tooling

Replaces the Maestro runner in expo-native-build.yml with Argent
(software-mansion/argent) flow replay. Argent keeps a resident tool-server
so per-flow invocations skip Maestro's ~14s JVM+XCTest startup, measuring
3.5-4x faster per flow locally. Flows are ported 1:1; clean-state resets
move from Maestro's clearState into run-argent-flows.sh since argent's
launch never clears app data. Credentials flow through Argent secrets
(ARGENT_SECRET_*), which are redacted from reports automatically.
@vercel

vercel Bot commented Aug 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
clerk-js-sandbox Ready Ready Preview Aug 13, 2026 6:00pm
swingset Ready Ready Preview Aug 13, 2026 6:00pm

Request Review

@changeset-bot

changeset-bot Bot commented Aug 13, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: eaad5ef

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

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

Not sure what this means? Click here to learn what changesets are.

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

Argent's simulator-server only drives emulators argent boots itself; the
reactivecircus-booted emulator made every gesture-tap fail in CI. Mirrors
argent's own wayland-e2e.yml: headless Weston, argent GPU mode, AVD created
directly. Drops the AVD snapshot cache since plain AVD creation is seconds.
@pkg-pr-new

pkg-pr-new Bot commented Aug 13, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@9440

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@9440

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@9440

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@9440

@clerk/electron

npm i https://pkg.pr.new/@clerk/electron@9440

@clerk/electron-passkeys

npm i https://pkg.pr.new/@clerk/electron-passkeys@9440

@clerk/eslint-plugin

npm i https://pkg.pr.new/@clerk/eslint-plugin@9440

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@9440

@clerk/expo-google-signin

npm i https://pkg.pr.new/@clerk/expo-google-signin@9440

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@9440

@clerk/express

npm i https://pkg.pr.new/@clerk/express@9440

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@9440

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@9440

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@9440

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@9440

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@9440

@clerk/react

npm i https://pkg.pr.new/@clerk/react@9440

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@9440

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@9440

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@9440

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@9440

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@9440

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@9440

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@9440

commit: eaad5ef

…in artifacts

The linux simulator-server bundled in the argent 0.20.0 npm package exits
at spawn on CI runners; argent's own wayland-e2e pins the radon-daily
release channel for the working build. Also copies ~/.argent logs into the
failure artifact so backend crashes are diagnosable.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant