Skip to content

feat(actions): add unified Playwright test health reporting for extension and mobile#262

Open
cmd-ob wants to merge 2 commits into
mainfrom
feat/unified-playwright-test-health-action
Open

feat(actions): add unified Playwright test health reporting for extension and mobile#262
cmd-ob wants to merge 2 commits into
mainfrom
feat/unified-playwright-test-health-action

Conversation

@cmd-ob

@cmd-ob cmd-ob commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Summary

Add a new GitHub Action for unified Playwright test health reporting that works across both Extension and Mobile repositories.

What this adds

  • New reusable action for Playwright report aggregation and health reporting
  • Shared parsing, workflow-run, artifact-download, and Slack formatting helpers
  • A single reporting flow that can be configured per repo/workflow while keeping output consistent

Why

Both Extension and Mobile are moving to Playwright/Appium (Playwright runner). This introduces one standardized reporting path so flaky/broken test visibility is consistent across projects and easier to maintain.

Scope

  • Supports Playwright JSON artifacts from multiple workflows
  • Produces unified health summary suitable for Slack/reporting
  • Designed for cross-repo reuse (Extension + Mobile)

Validation

  • Ran actionlint successfully

pull Bot pushed a commit to Reality2byte/metamask-mobile that referenced this pull request Jun 15, 2026
…#31756)

## **Description**

Standardize the Playwright JSON file inside each Appium CI artifact to
`playwright-report.json`, matching the default `results-file-pattern` in
the upcoming `playwright-test-health-report` github-tools action
([MetaMask/github-tools#262](MetaMask/github-tools#262)).

Suite/shard identity stays in the **artifact name**
(`playwright-json-report-{test-suite-name}`); only the inner zip
filename is fixed. New Appium smoke tags can be added without changing
the daily report workflow config.

## **Changelog**

CHANGELOG entry: null

## **Related issues**

Refs: Follow-up to Appium JSON artifact upload — prepares for
github-tools `playwright-test-health-report`
([MetaMask/github-tools#262](MetaMask/github-tools#262)).

## **Manual testing steps**

N/A — CI-only change. Post-merge verification on `main`:
- Confirm Appium jobs still upload `playwright-json-report-*` artifacts.
- Open an artifact zip and verify the JSON file is named
`playwright-report.json` (not `{suite-name}.json`).

## **Screenshots/Recordings**

### **Before**

N/A — CI workflow change only.

### **After**

N/A — CI workflow change only.

## **Pre-merge author checklist**

- [x] 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).
- [x] I've completed the PR template to the best of my ability
- [x] I've included tests if applicable
- [x] I've documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] 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.

#### Performance checks (if applicable)

- [x] I've tested on Android
  - Ideally on a mid-range device; emulator is acceptable
- [x] I've tested with a power user scenario
- Use these [power-user
SRPs](https://consensyssoftware.atlassian.net/wiki/spaces/TL1/pages/edit-v2/401401446401?draftShareId=9d77e1e1-4bdc-4be1-9ebb-ccd916988d93)
to import wallets with many accounts and tokens
- [x] I've instrumented key operations with Sentry traces for production
performance metrics
- See [`trace()`](/app/util/trace.ts) for usage and
[`addToken`](/app/components/Views/AddAsset/components/AddCustomToken/AddCustomToken.tsx#L274)
for an example

## **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.

Made with [Cursor](https://cursor.com)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant