You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
E2E tests create apps and dev stores that sometimes fail to be torn down (500 errors, timeouts, CI cancellation). These leftovers accumulate and need to be cleaned up periodically.
Proposed solution:
Two standalone scripts that use browser automation to find and remove leftover resources:
cleanup-apps.ts — Finds apps matching E2E- prefix on the dev dashboard, uninstalls from all stores, and deletes them
cleanup-stores.ts — Finds stores matching e2e-w prefix, uninstalls all apps, and deletes the stores
Modes:
--list — List matching resources without action
--delete — Delete only resources with 0 installs/apps
--headed — Show browser window for debugging
--pattern X — Custom name pattern match
Usage:
npx tsx packages/e2e/scripts/cleanup-stores.ts --list
npx tsx packages/e2e/scripts/cleanup-apps.ts --list
# Full cleanup: stores first, then apps
pnpm test:e2e-cleanup
Implementation notes:
Scripts handle dashboard pagination for both app discovery and store admin apps page
Reuses dismissDevConsole and completeLogin from existing test infra
Stores should be cleaned before apps (uninstall from stores first, then delete apps)
Problem:
E2E tests create apps and dev stores that sometimes fail to be torn down (500 errors, timeouts, CI cancellation). These leftovers accumulate and need to be cleaned up periodically.
Proposed solution:
Two standalone scripts that use browser automation to find and remove leftover resources:
cleanup-apps.ts— Finds apps matchingE2E-prefix on the dev dashboard, uninstalls from all stores, and deletes themcleanup-stores.ts— Finds stores matchinge2e-wprefix, uninstalls all apps, and deletes the storesModes:
--list— List matching resources without action--delete— Delete only resources with 0 installs/apps--headed— Show browser window for debugging--pattern X— Custom name pattern matchUsage:
npx tsx packages/e2e/scripts/cleanup-stores.ts --list npx tsx packages/e2e/scripts/cleanup-apps.ts --list # Full cleanup: stores first, then apps pnpm test:e2e-cleanupImplementation notes:
dismissDevConsoleandcompleteLoginfrom existing test infra