Skip to content

Commit 5ff018e

Browse files
authored
test: add metametrics to collect qa stats (#27696)
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** This updates [.github/scripts/collect-qa-stats.mjs](vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/code/electron-sandbox/workbench/.github/scripts/collect-qa-stats.mjs) so QA stats include E2E MetaMetrics coverage in its own top-level metametrics namespace (alongside unit, component_view, e2e, and performance). The script statically scans event display names that tests assert: it walks tests/helpers/analytics/expectations/*.ts and an explicit LEGACY_INLINE_METAMETRICS_PATHS list for specs/helpers that still use inline checks (getEventsPayloads, event.event ===, etc.). It resolves onboardingEvents.* using tests/helpers/analytics/helpers.ts. Emitted keys are metametrics_events_checked_unique_count and metametrics_events_checked_names_json (sorted JSON array of names). <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Changelog** <!-- If this PR is not End-User-Facing and should not show up in the CHANGELOG, you can choose to either: 1. Write `CHANGELOG entry: null` 2. Label with `no-changelog` If this PR is End-User-Facing, please write a short User-Facing description in the past tense like: `CHANGELOG entry: Added a new tab for users to see their NFTs` `CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker` (This helps the Release Engineer do their job more quickly and accurately) --> CHANGELOG entry: ## **Related issues** Fixes: ## **Manual testing steps** ```gherkin Feature: my feature name Scenario: user [verb for user action] Given [describe expected initial app state] When user [verb for user action] Then [describe expected outcome] ``` ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I've included tests if applicable - [ ] I've documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I've applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > Changes the QA metrics pipeline by adding a new `metametrics` namespace and altering artifact sourcing (optional fixture mode), which could affect downstream dashboards/alerts if parsing or artifact naming assumptions break. > > **Overview** > Extends `.github/scripts/collect-qa-stats.mjs` to emit a new top-level `metametrics` namespace in `qa-stats.json`, populated by a static scan of E2E sources to count and list unique MetaMetrics event names asserted in tests. > > Adds an optional local fixture mode (`QA_STATS_FIXTURE_ROOT`) that bypasses the GitHub API/token and reads artifacts from extracted directories, and tweaks E2E logging/output to better handle runs without JUnit artifacts and to print the JSON body after writing. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit b371f3602bac194f6b4f55a3355bea7a9c1a6f01. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
1 parent d86db93 commit 5ff018e

1 file changed

Lines changed: 389 additions & 2 deletions

File tree

0 commit comments

Comments
 (0)