What the routine does
Once a week the whole mobile feature test platform is run end to end: Tier A (convex-test), Tier B (vitest jsdom + jest-expo), and Tier C (staging
integration).
It is report-only. The run itself never opens a pull request. Failures become
one GitHub issue per distinct failure, and a fully green run files nothing and
commits nothing.
Lanes
CI is theFeature Regression (mobile, Tier A/B/C) workflow at
.github/workflows/feature-regression.yml.
A separate
paid boolean input admits the opt-in paid cases (cold dispensary menu
scans and the large order-archive seeds). It defaults to off — leave it off
unless the run is specifically about those cases.
Tier C skips cleanly in CI when its Clerk secret is absent — a notice and a
step summary, not a failure. The preflight gate keys on that one secret; the
remaining secrets each gate a narrower set of cases (Trigger.dev polling, the
admin runner, the Gmail lane) and their absence produces tracked skips.
The schedule is intentionally off
The workflow isworkflow_dispatch only. The schedule: block exists in the file
but is commented out, part of the automation stand-down that paused every
recurring routine.
Reproducing a run locally
The same commands the workflow runs, fromapps/mobile:
-t does, because tags live in test titles:
@smoke, @slow, @ai, @trigger, @shared-account, @P0–@P3.
Before you start a Tier C run
1
Check nothing else is in flight
2
Check the Revyl order-import workflow is idle
The Gmail lane and that workflow drive the same mailbox and the same per-user
queue. Overlapping runs produce failures indistinguishable from product bugs.
3
Run the smoke suite first
Under 30 seconds, no spend. A lane failure after a green smoke is a product
signal; a lane failure after a red smoke is a harness or configuration signal.
4
Confirm main is green before filing anything
Reading and reporting a run
Report four separate counts per tier: pass, fail,skipped-blocked, and
skipped-paid. Collapsing skips into “not failing” is how a run with a dead
pipeline still looks green. Status meanings are listed in the
Test Platform Overview.
The weekly summary records:
- the lane and inputs used, plus the workflow run URL;
- the four counts per tier;
- every issue filed and every existing issue re-confirmed;
- cost attribution — Trigger.dev runs created and total AI spend.
Filing failures
One issue per distinct failure. Search for an existing open issue before filing and comment on it rather than opening a second:Related
Test Platform Overview
The three tiers and how to add a test for a new feature.
Tier C — Staging Integration
Guard, identity model, tags, and cost controls.
