Repository navigation
Conversation
…t job The package installs its own dependencies with npm ci from its own lockfile, outside the pnpm workspace. The Expo Native Runner Tests job runs its unit tests and tsc when a pull request changes it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-ios and clerk-android Every file in this commit is a byte copy of the same path under e2e-tests/ on main of clerk/clerk-ios or clerk/clerk-android, except three. specs/app.ts names this repository's test app, src/platform/ios/simulator.ts holds its simctl commands, and test/session-agent.test.ts is the shared test without its one case that names the app sources of clerk-ios. src/core/MANIFEST lists the shared files with their hashes, and a unit test fails when one drifts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each test starts at the fixture's home and taps to the screen it needs, as a user would. specs/native.ts holds the locators of the home's buttons. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: 0580238 The changes in this PR will be included in the next version bump. This PR includes changesets to release 0 packagesWhen 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 |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Comment |
mikepitre
added this pull request to stack #10239
October 14, 2026 17:56
This was referenced Oct 14, 2026
This was referenced Oct 14, 2026
@clerk/astro
@clerk/backend
@clerk/chrome-extension
@clerk/clerk-js
@clerk/electron
@clerk/electron-passkeys
@clerk/eslint-plugin
@clerk/expo
@clerk/expo-biometrics
@clerk/expo-google-signin
@clerk/expo-native-components
@clerk/expo-passkeys
@clerk/express
@clerk/fastify
@clerk/hono
@clerk/localizations
@clerk/mosaic
@clerk/nextjs
@clerk/nuxt
@clerk/react
@clerk/react-router
@clerk/shared
@clerk/tanstack-react-start
@clerk/testing
@clerk/ui
@clerk/upgrade
@clerk/vue
commit: |
The job skipped its steps on a pull request that changed none of a list of paths, but the list watched the whole Expo packages and missed files the tests read. It now watches the package, the workflows and template screens its tests read, and watches the paths the host tests only require to exist for a deletion or a move alone. A new test runs the job's check against real merge commits, and fails when a test reads a workflow or repository file the list does not watch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This reverts commit 777527f. Expo test timing stays as it was for now. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s own test attach used the before run's first failure screenshot for every label that run lacked. With one test per state, every Before cell then showed the same image. A run now records which test took each screenshot, and attach pairs a missing label with the failure screenshot of that test in the before run, or fails and says so when there is none. The core is the same as in clerk-ios and clerk-android. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s missing When the before run has no screenshot with the label and no failure screenshot of the test that took it, attach now names that test, by title and spec file name. When the after run does not record which test took the screenshot, as a run made before the test was recorded does not, attach says so and asks for a new after run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
chooseEvidence matched the before run's failure screenshot by spec basename and test title, taking the first hit. Several features have a complete.e2e.ts, so the Before cell could show another spec's failure. Match the full spec path first. Fall back to basename and title only when exactly one result matches, which still pairs a committed spec copied to specs/explored/ for the before run. When more than one matches, fail and name the label, the test and each candidate spec. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This is the shared harness change from clerk/clerk-ios, copied byte for byte. For about a second after typed text, the iOS simulator reports the frames from before the keyboard moved the form, so a tap resolved in that time lands where the control used to be. host.fill on iOS now returns no sooner than 1.5 seconds after its last typing command. On Android it returns as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…eviewer Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An evidence run raised the mobile engine's `settle` to 700 ms so the screen would hold still after each action. The engine applies `settle` only to actions an agent makes; a test's actions carry origin `test`, and `perform` and `performAt` send them with no settle at all. So the setting changed nothing, which the review saw in the step timings. Remove it. The pacing a run really has is the 0.6 s wait before `host.tap` and `host.fill` and the 2 s hold at the end of each `host.evidence` block; the skill says so on the Expo host branch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`attach --video` refuses a run that no `host.evidence` block marked, yet the hint after every passing run, `--all` included, offered `--video` beside screenshots. Now a run with a marked block suggests `--video` alone, and any other run suggests screenshots for a still change and says how to get a video: mark the steps, run that spec on its own, and attach that run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This is the second of four pull requests that replace the eleven of stack #10100. It sits on #10235, and #10237 sits on it. It holds the end-to-end tests that #10087 added and the shared core they run on, in their final state after the edits of #10131, #10219, #10221, #10225, #10227, and #10230.
integration/expo-native/is a Node package that installs its own dependencies withnpm cifrom its own lockfile, outside the pnpm workspace. Its core is the code that clerk-ios, clerk-android, and this repository share: the CLI's verbs, device leases, the throwaway Clerk application of a session, the stand-in for Clerk's Backend API that the tests call, secret redaction, the evidence of a run, the borrowed-device session, and the support code of the e2e tests. The Expo host that builds the fixture and runs the CLI is in #10237, so this package has nobin/control-clerk-expoyet.The three commits:
package.json, the generatedpackage-lock.json(1,783 lines),tsconfig.json, theExpo Native Runner Testsjob inci.yml, and the entries that keep the repository's formatter and linter off the package.specs/features/, in seven feature groups, andspecs/native.ts, the locators of the fixture's home. Read these.Of the 109 files of commit 2, 106 files, 21,303 lines, are byte copies of the same path under
e2e-tests/onmainof clerk/clerk-ios (bd2266d3c) or clerk/clerk-android (ca990b48), where they were reviewed and merged.src/core/MANIFESTlists the shared files with their hashes, andnpm testfails when one drifts. To check them against clerk-ios:The second command prints nothing.
src/platform/android/andtest/android.test.tsare copies from clerk-android. The three files of commit 2 that are this repository's own arespecs/app.ts, which names the test app and how to launch its dev client,src/platform/ios/simulator.ts, which holds thesimctlcommands with this repository's log predicate, andtest/session-agent.test.ts, the shared test without its one case that names the app sources of clerk-ios.What to read, in this order:
specs/features/. Each starts at the fixture's home from test(expo): drive the expo-native fixture from verify launch inputs #10235 and taps to the screen it needs, as a user would. They assert on what a user sees, in the prebuilt views first and on the home for the outcome of a flow. They type only+clerk_testaddresses and the test code424242. Two are for iOS only, so Android runs 15.package.json:e2e0.18.0,@e2e-dev/mobile0.10.0,@e2e-dev/github0.4.0,ai7.0.128, andtypescript7.0.2, on Node 24.8 or newer.Expo Native Runner Testsjob inci.yml. It runs the package's unit tests andtscon Linux, with no device and no secret, when a pull request changes the package, the fixture, or an Expo package.The three changesets are the empty ones that #10087, #10225, and #10227 carried. No published package changes.
npm testinintegration/expo-native/passes 712 of 712 on this branch, andnpm run typecheckis clean.Checklist
pnpm testruns as expected.pnpm buildruns as expected.Type of change
🤖 Generated with Claude Code