Skip to content

TEST fix(tests): verify e2e tests - #5725

Closed
santgr11 wants to merge 12 commits into
mainfrom
fix/e2e-verify-flaky-tests-v2
Closed

TEST fix(tests): verify e2e tests#5725
santgr11 wants to merge 12 commits into
mainfrom
fix/e2e-verify-flaky-tests-v2

Conversation

@santgr11

Copy link
Copy Markdown
Contributor

Description

Please include a brief summary of the change.

Type of change

  • Chore (non-breaking change that addresses non-functional tasks, maintenance, or code quality improvements)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Associated Issues

For Linear issues: Closes APKT-xxx
For GH issues: closes #...

Showcase (Optional)

If there is a UI change include the screenshots with before and after state.
If new feature is being introduced, include the link to demo recording.

Checklist

  • Code in this PR is covered by automated tests (Unit tests, E2E tests)
  • My changes generate no new warnings
  • I have reviewed my own code
  • I have filled out all required sections
  • I have tested my changes on the preview link
  • Approver of this PR confirms that the changes are tested on the preview link

santgr11 added 7 commits July 24, 2026 13:56
HappyPath.verify and UnhappyPath.verify-scam were tagged with
getCanaryTagAndAnnotation() but never called afterEachCanary(), so the
'AppKit Verify Happy success < 1' Grafana alert has been evaluating a
metric that was never emitted.
Confirmed in CI logs (runs 81070543249 shard 3, 81083348538 shard 7):
the runner intermittently can't reach security.ubuntu.com to fetch
gstreamer packages, failing the whole shard with 0 tests run. Retrying
up to 3 times absorbs the blip without masking a real, persistent
install failure (still fails after 3 tries).
…ob summaries

Error: locator.click: Target page, context or browser has been closed
recurred across every analyzed CI run, cross-browser, in config.spec.ts,
multi-wallet-multichain.spec.ts, and wallet.spec.ts. Root cause is still
under investigation (worker-count/resource-contention already ruled out),
but blocking every PR on it trains people to ignore CI. These tests are
tagged @quarantine, excluded from the blocking gate via --grep-invert,
and run separately with retries in a non-blocking CI step so they stay
visible instead of silently failing for days.

Also wires the report summarizer into both the quarantine lane and the
main gating run's job summary, so pass/fail is visible in the GitHub
Actions UI instead of requiring a scroll through raw logs.
Strips ANSI escape codes and escapes literal pipe characters before
embedding test titles/errors in markdown table cells (raw ANSI codes
would otherwise render as garbled control characters in a GitHub job
summary), and falls back to a clear message instead of throwing when
the report file is missing or unparseable.
@changeset-bot

changeset-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 7e48085

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

@vercel

vercel Bot commented Jul 24, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
appkit-demo Ready Ready Preview, Comment Jul 24, 2026 7:33pm
appkit-gallery Ready Ready Preview, Comment Jul 24, 2026 7:33pm
appkit-headless-sample-app Ready Ready Preview, Comment Jul 24, 2026 7:33pm
appkit-laboratory Ready Ready Preview, Comment Jul 24, 2026 7:33pm
9 Skipped Deployments
Project Deployment Actions Updated (UTC)
appkit-basic-example Ignored Ignored Jul 24, 2026 7:33pm
appkit-basic-sign-client-example Ignored Ignored Jul 24, 2026 7:33pm
appkit-basic-up-example Ignored Ignored Jul 24, 2026 7:33pm
appkit-ethers5-bera Ignored Ignored Jul 24, 2026 7:33pm
appkit-nansen-demo Ignored Ignored Jul 24, 2026 7:33pm
appkit-wagmi-cdn-example Ignored Ignored Jul 24, 2026 7:33pm
ethereum-provider-wagmi-example Ignored Ignored Jul 24, 2026 7:33pm
next-wagmi-solana-bitcoin-example Ignored Ignored Jul 24, 2026 7:33pm
vue-wagmi-example Ignored Ignored Jul 24, 2026 7:33pm

Request Review

const ANSI_PATTERN = /\u001b\[[0-9;]*m/g

function sanitizeForTable(value) {
return String(value).replace(ANSI_PATTERN, '').replace(/\|/g, '\\|')
@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Visual Regression Test Results ✅ Passed

⚠️ 20 visual change(s) detected

Chromatic Build: https://www.chromatic.com/build?appId=6493191bf4b10fed8ca7353f&number=988
Storybook Preview: https://6493191bf4b10fed8ca7353f-yappoixhpy.chromatic.com/

👉 Please review the visual changes in Chromatic and accept or reject them.

@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor
Warnings
⚠️

Workflow file .github/workflows/ui_tests.yml has been modified

Generated by 🚫 dangerJS against 7e48085

@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

📦 Bundle Size Check

All bundles are within size limits

📊 View detailed bundle sizes

> @reown/appkit-monorepo@1.7.1 size /home/runner/work/appkit/appkit


> size-limit

@reown/appkit - Main Entry
Size limit:   80 kB
Size:         75.87 kB with all dependencies, minified and gzipped
Loading time: 1.5 s    on slow 3G
Running time: 348 ms   on Snapdragon 410
Total time:   1.9 s
@reown/appkit/react
Size limit:   236 kB
Size:         235.11 kB with all dependencies, minified and gzipped
Loading time: 4.6 s     on slow 3G
Running time: 621 ms    on Snapdragon 410
Total time:   5.3 s
@reown/appkit/vue
Size limit:   80 kB
Size:         75.87 kB with all dependencies, minified and gzipped
Loading time: 1.5 s    on slow 3G
Running time: 426 ms   on Snapdragon 410
Total time:   2 s
@reown/appkit-scaffold-ui
Size limit:   220 kB
Size:         214.41 kB with all dependencies, minified and gzipped
Loading time: 4.2 s     on slow 3G
Running time: 482 ms    on Snapdragon 410
Total time:   4.7 s
@reown/appkit-ui
Size limit:   500 kB
Size:         13.16 kB with all dependencies, minified and gzipped
Loading time: 258 ms   on slow 3G
Running time: 174 ms   on Snapdragon 410
Total time:   431 ms

@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 78.61% 40215 / 51155
🔵 Statements 78.61% 40215 / 51155
🔵 Functions 76.07% 4292 / 5642
🔵 Branches 86.71% 9845 / 11353
File CoverageNo changed files found.
Generated in workflow #17207 for commit 7e48085 by the Vitest Coverage Report Action

santgr11 added 5 commits July 24, 2026 15:50
Match canary.spec.ts's existing convention (and the equivalent, already-open
fix in PR #5709 / svenvoskamp/verify-alerts-firing) - the canary container
only ever runs Desktop Chrome/wagmi, so Firefox never reports these metrics
anyway; skip explicitly rather than relying on that never being exercised.
…iably emit

The "AppKit Receive Session Proposal Timing > 7000ms" Grafana alerts (all 4
regions) were firing on No-Data, not real latency. Their query targets
HappyPath.sign.timing.pairingReceiveSessionProposal, which the canary only
recorded when pairingCreatedTime was set - and that was captured by scraping
a WalletConnect "set core/pairing/pairing" console log that no longer fires.

Capture pairingCreatedTime deterministically when the wallet begins
processing the connection URI instead of depending on SDK console output,
and push the metric unconditionally.

(Brought in from the already-open fix on svenvoskamp/verify-alerts-firing.)
…t only

Trace-level analysis already on record showed config.spec.ts's first two
tests reliably pass in under 20s - only the third ("all features disabled")
is a confirmed freeze. Quarantining all three was over-broad and would hide
a real regression in tests 1/2 if one ever showed up. Also renames the
cluster id from "cluster-4-context-closed" to "unresolved-playwright-freeze",
matching the actual conclusion on record: four independent rule-outs (worker
count, browser engine, Playwright version, actionability-check bypass) with
no reproduction outside Playwright automation, not a generic "browser
crashed" label.
Already prototyped and explicitly declined in an earlier pass at this same
problem - not necessary for this PR.
Un-tags all @quarantine tests and removes the non-blocking CI lane and
--grep-invert exclusion - decided against separating tests into blocking
and non-blocking lanes for now. The canary metric fixes, install-deps
retry hardening, and job-summary reporting for the main gating run are
unaffected.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants