feat: add script to update default E2E fixture from generated report#26861
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
|
@metamaskbot update-mobile-fixture |
…proved condition checks
|
@metamaskbot update-mobile-fixture |
|
@metamaskbot update-mobile-fixture |
3 similar comments
|
@metamaskbot update-mobile-fixture |
|
@metamaskbot update-mobile-fixture |
|
@metamaskbot update-mobile-fixture |
… and error handling
|
@metamaskbot update-mobile-fixture |
2 similar comments
|
@metamaskbot update-mobile-fixture |
|
@metamaskbot update-mobile-fixture |
…prove error handling
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #26861 +/- ##
==========================================
- Coverage 81.51% 81.50% -0.01%
==========================================
Files 4627 4631 +4
Lines 121093 121816 +723
Branches 26453 26647 +194
==========================================
+ Hits 98706 99288 +582
- Misses 15480 15571 +91
- Partials 6907 6957 +50 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
🔍 Smart E2E Test Selection⏭️ Smart E2E selection skipped - skip-smart-e2e-selection label found All E2E tests pre-selected. |
|
|
✅ E2E Fixture Validation — Schema is up to date |



Description
This PR improves the reliability and security of the automated E2E fixture update workflow by fixing
race conditions, permission issues, and fork-handling logic.
Key changes:
update-e2e-fixtures.yml
cache step so partial/failed runs don't overwrite valid cached fixtures
so it can still commit even when update-fixtures was cancelled
write and pull-requests: write permissions instead of a PAT, removing the dependency on the org
secret
ci.yml
each condition so forks are excluded before any build/change checks
string comparison bugs
manually forced regardless of file-change detection
validate-e2e-fixtures)
scripts/update-e2e-fixture.sh
Default fixture (tests/framework/fixtures/json/default-fixture.json)
Changelog
CHANGELOG entry:
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Medium Risk
Medium risk because it changes CI gating/conditions for when E2E builds and fixture workflows run, and adjusts GitHub Action permissions/tokens for committing/commenting, which could impact test coverage or workflow execution if misconfigured.
Overview
Adds a manual override to always run E2E. The
smart-e2e-selectioncomposite action now outputsforce_runwhen theskip-smart-e2e-selectionlabel is present, andci.ymluses this flag to trigger Android/iOS E2E builds/tests (and fixture validation) even when path filters say nothing changed; confidence parsing was also hardened viafromJSON(... || '0').Tightens and streamlines E2E fixture updates/validation. The fixture-validation Detox spec now throws (failing CI) when the committed fixture is out of date and includes clearer remediation instructions; ignored keys were expanded for several runtime-added network configs, and a new unit test asserts unexpected new keys are detected. The
Update E2E Fixturesworkflow now avoids cache/commit steps when cancelled, sets explicitcontents/pull-requestspermissions, and usesGITHUB_TOKENfor PR checkout/comments; a newscripts/update-e2e-fixture.shhelps copy the generated fixture report into the committed fixture locally.Written by Cursor Bugbot for commit afc3f5f. This will update automatically on new commits. Configure here.