MetaMask / MetaMask/metamask-extension
Restructure CircleCI steps for MV3
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
The problem
We currently run MV2 AND MV3 test on chrome and only MV2 tests on firefox. Once we ship MV3 to main no new builds of the extension will need to run the MV2 tests because we will only be shipping the MV3 code. We do have to maintain both codepaths (the MV3 feature flag) because we are not ready for Firefox MV3 yet. We have relied upon a few chrome specific APIs to get to MV3 launch readiness (offscreen document, whereas we may need to explore event pages in firefox).
Running both MV2 and MV3 tests for chrome will be wasteful to our CI billed time.
The solution
Once we ship MV3 and chrome has stopped accepted MV2 builds we can safely deprecate MV2 E2E tests on chrome. This doesn't save us much except that we can eliminate one step of the CI process
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the CircleCI configuration and locate the Chrome and Firefox MV2/MV3 test steps. Confirm the change is only appropriate once MV3 ships and Chrome no longer accepts MV2 builds; done means removing the redundant Chrome MV2 step while retaining the MV3 Chrome tests and Firefox MV2 coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- ci-cd
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100