Skip to content

Commit 65b229d

Browse files
committed
refactor(tests): reorganize test scripts and update paths and update QA codeowners
1 parent 6e4e095 commit 65b229d

14 files changed

Lines changed: 68 additions & 23 deletions

.eslintignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ wdio
1616
/app/util/test/testSetup.js
1717
junitProperties.js
1818
/tests/scripts/ai-e2e-tags-selector.ts
19-
scripts/aggregate-performance-reports.mjs
19+
tests/scripts/aggregate-performance-reports.mjs

.github/CODEOWNERS

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -301,14 +301,59 @@ app/reducers/onboarding @MetaMask/web3auth
301301
app/core/Engine/controllers/gator-permissions-controller @MetaMask/delegation
302302
app/core/Engine/messengers/gator-permissions-controller-messenger @MetaMask/delegation
303303

304-
# QA Team - E2E Framework
305-
tests/api-mocking/ @MetaMask/qa
306-
tests/framework/ @MetaMask/qa
307-
tests/page-objects/ @MetaMask/qa
308-
tests/flows/ @MetaMask/qa
304+
# QA Team - E2E framework
305+
tests/api-mocking/ @MetaMask/qa
306+
tests/framework/ @MetaMask/qa
307+
tests/page-objects/ @MetaMask/qa
308+
tests/flows/ @MetaMask/qa
309+
tests/scripts/ @MetaMask/qa
309310
# Note: Test builds (main-test, flask-test) in build/builds.yml are owned by QA team
310311
# but the file itself is protected by mobile-platform for consistency
311312

313+
# QA Team - workflows
314+
.github/workflows/needs-e2e-build.yml @MetaMask/qa
315+
.github/workflows/run-e2e-workflow.yml @MetaMask/qa
316+
.github/workflows/run-e2e-api-specs.yml @MetaMask/qa
317+
.github/workflows/run-e2e-regression-tests-android.yml @MetaMask/qa
318+
.github/workflows/run-e2e-regression-tests-ios.yml @MetaMask/qa
319+
.github/workflows/run-e2e-smoke-tests-android.yml @MetaMask/qa
320+
.github/workflows/run-e2e-smoke-tests-android-flask.yml @MetaMask/qa
321+
.github/workflows/run-e2e-smoke-tests-ios.yml @MetaMask/qa
322+
.github/workflows/run-e2e-smoke-tests-ios-flask.yml @MetaMask/qa
323+
.github/workflows/rerun-ci-on-skipped-e2e-labels.yml @MetaMask/qa
324+
.github/workflows/update-e2e-fixtures.yml @MetaMask/qa
325+
.github/workflows/temp-bitrise-ios-e2e.yml @MetaMask/qa
326+
.github/workflows/run-bitrise-e2e-check.yml.disabled @MetaMask/qa
327+
.github/workflows/run-bitrise-flask-e2e-check.yml.disabled @MetaMask/qa
328+
.github/workflows/bitrise-e2e-gate.yml.disabled @MetaMask/qa
329+
.github/workflows/qa-stats.yml @MetaMask/qa
330+
.github/workflows/flaky-test-report.yml @MetaMask/qa
331+
.github/workflows/automated-rca.yml @MetaMask/qa
332+
.github/workflows/remove-rca-needed-label-sheets.yml @MetaMask/qa
333+
.github/workflows/performance-test-runner.yml @MetaMask/qa
334+
.github/workflows/run-performance-e2e.yml @MetaMask/qa
335+
.github/workflows/run-performance-e2e-experimental.yml @MetaMask/qa
336+
.github/workflows/run-performance-e2e-release.yml @MetaMask/qa
337+
338+
# QA Team - composite actions
339+
.github/actions/setup-e2e-env/ @MetaMask/qa
340+
.github/actions/smart-e2e-selection/ @MetaMask/qa
341+
.github/actions/validate-artifact-compatibility/ @MetaMask/qa
342+
343+
# QA Team - scripts
344+
.github/scripts/e2e-check-build-needed.mjs @MetaMask/qa
345+
.github/scripts/e2e-create-json-test-report.mjs @MetaMask/qa
346+
.github/scripts/e2e-extract-test-results.mjs @MetaMask/qa
347+
.github/scripts/e2e-merge-detox-junit-reports.mjs @MetaMask/qa
348+
.github/scripts/e2e-merge-test-results.mjs @MetaMask/qa
349+
.github/scripts/e2e-report-fixture-validation.mjs @MetaMask/qa
350+
.github/scripts/e2e-risk-label.mjs @MetaMask/qa
351+
.github/scripts/e2e-smart-selection.mjs @MetaMask/qa
352+
.github/scripts/e2e-split-tags-shards.mjs @MetaMask/qa
353+
.github/scripts/collect-qa-stats.mjs @MetaMask/qa
354+
.github/scripts/generate-regression-slack-summary.mjs @MetaMask/qa
355+
.github/scripts/bitrise/ @MetaMask/qa
356+
312357
# Co-owned by Swaps and Money Movement teams
313358
app/util/parseAmount.ts @MetaMask/swaps-engineers @MetaMask/money-movement
314359
app/util/parseAmount.test.ts @MetaMask/swaps-engineers @MetaMask/money-movement

.github/workflows/run-performance-e2e.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ jobs:
344344
env:
345345
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
346346
RN_PLAYGROUND_APK_VERSION: ${{ vars.RN_PLAYGROUND_APK_VERSION || '' }}
347-
run: ./scripts/fetch-rn-playground-apk.sh --output ./tmp/rn-playground.apk
347+
run: ./tests/scripts/fetch-rn-playground-apk.sh --output ./tmp/rn-playground.apk
348348

349349
- name: Upload playground APK to BrowserStack
350350
id: upload-playground
@@ -422,7 +422,7 @@ jobs:
422422
run: |
423423
echo "Processing all test results..."
424424
echo "Running aggregation script..."
425-
node scripts/aggregate-performance-reports.mjs
425+
node tests/scripts/aggregate-performance-reports.mjs
426426
echo "Aggregation completed"
427427
428428
- name: Upload Final Combined Results
@@ -466,7 +466,7 @@ jobs:
466466
run: |
467467
{
468468
echo "summary<<EOF"
469-
./scripts/generate-slack-summary.sh aggregated-reports/summary.json
469+
./tests/scripts/generate-slack-summary.sh aggregated-reports/summary.json
470470
echo "EOF"
471471
} >> "$GITHUB_OUTPUT"
472472

bitrise.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1033,7 +1033,7 @@ workflows:
10331033
inputs:
10341034
- content: |
10351035
#!/usr/bin/env bash
1036-
./scripts/download-android-qa-app.sh
1036+
./tests/scripts/download-android-qa-app.sh
10371037
# APK_PATH is already set by the download script using envman
10381038
build_flask_e2e_android:
10391039
after_run:
@@ -1361,7 +1361,7 @@ workflows:
13611361
IGNORE_BOXLOGS_DEVELOPMENT="true" yarn test:e2e:android:run:qa-release $E2E_TEST_FILE
13621362
elif [ -n "${TEST_SUITE_TAG:-}" ]; then
13631363
echo "[INFO] Running tests matching TEST_SUITE_TAG: $TEST_SUITE_TAG"
1364-
./scripts/run-e2e-tags.sh
1364+
./tests/scripts/run-e2e-tags.sh
13651365
fi
13661366
- custom-test-results-export@1:
13671367
title: Export test results
@@ -1491,7 +1491,7 @@ workflows:
14911491
IGNORE_BOXLOGS_DEVELOPMENT="true" yarn test:e2e:android:$METAMASK_BUILD_TYPE:prod $E2E_TEST_FILE
14921492
elif [ -n "${TEST_SUITE_TAG:-}" ]; then
14931493
echo "[INFO] Running tests matching TEST_SUITE_TAG: $TEST_SUITE_TAG"
1494-
./scripts/run-e2e-tags.sh
1494+
./tests/scripts/run-e2e-tags.sh
14951495
fi
14961496
- custom-test-results-export@1:
14971497
title: Export test results
@@ -1990,14 +1990,14 @@ workflows:
19901990
# if [ "$METAMASK_BUILD_TYPE" = "flask" ]; then
19911991
# IS_TEST='true' METAMASK_BUILD_TYPE='flask' yarn test:e2e:ios:run:qa-release e2e/specs/flask/
19921992
# else
1993-
# ./scripts/run-e2e-tags.sh
1993+
# ./tests/scripts/run-e2e-tags.sh
19941994
# fi
19951995
if [ -n "${E2E_TEST_FILE:-}" ]; then
19961996
echo "[INFO] Running only specified E2E_TEST_FILE(s): $E2E_TEST_FILE"
19971997
IGNORE_BOXLOGS_DEVELOPMENT="true" yarn test:e2e:ios:run:qa-release $E2E_TEST_FILE
19981998
elif [ -n "${TEST_SUITE_TAG:-}" ]; then
19991999
echo "[INFO] Running tests matching TEST_SUITE_TAG: $TEST_SUITE_TAG"
2000-
./scripts/run-e2e-tags.sh
2000+
./tests/scripts/run-e2e-tags.sh
20012001
fi
20022002
- custom-test-results-export@1:
20032003
is_always_run: true
@@ -2142,7 +2142,7 @@ workflows:
21422142
IGNORE_BOXLOGS_DEVELOPMENT="true" yarn test:e2e:ios:$METAMASK_BUILD_TYPE:prod $E2E_TEST_FILE
21432143
elif [ -n "${TEST_SUITE_TAG:-}" ]; then
21442144
echo "[INFO] Running tests matching TEST_SUITE_TAG: $TEST_SUITE_TAG"
2145-
./scripts/run-e2e-tags.sh
2145+
./tests/scripts/run-e2e-tags.sh
21462146
fi
21472147
- custom-test-results-export@1:
21482148
is_always_run: true

tests/performance/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,7 @@ For CI/CD pipelines, the aggregation script combines results from multiple test
624624
### Running Aggregation
625625
626626
```bash
627-
node scripts/aggregate-performance-reports.mjs
627+
node tests/scripts/aggregate-performance-reports.mjs
628628
```
629629
630630
### Generated Files

tests/performance/mm-connect/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ connect-monorepo release. You can download it automatically or build locally.
4747

4848
```bash
4949
# From the metamask-mobile root
50-
./scripts/fetch-rn-playground-apk.sh
50+
./tests/scripts/fetch-rn-playground-apk.sh
5151
```
5252

5353
This downloads the latest `rn-playground-<version>.apk` to `./tmp/rn-playground.apk`.
@@ -56,14 +56,14 @@ The test's `beforeAll` hook automatically finds APKs in this location.
5656
To pin a specific version:
5757

5858
```bash
59-
./scripts/fetch-rn-playground-apk.sh --version 17.0.0
59+
./tests/scripts/fetch-rn-playground-apk.sh --version 17.0.0
6060
```
6161

6262
Or set the environment variable:
6363

6464
```bash
6565
export RN_PLAYGROUND_APK_VERSION=17.0.0
66-
./scripts/fetch-rn-playground-apk.sh
66+
./tests/scripts/fetch-rn-playground-apk.sh
6767
```
6868

6969
You can also point to any APK directly:

tests/performance/mm-connect/utils.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ export function cleanupAdbReverse(port) {
109109

110110
// Candidate paths for the playground release APK, checked in priority order:
111111
// 1. Explicitly set via RN_PLAYGROUND_APK_PATH env var
112-
// 2. Downloaded by scripts/fetch-rn-playground-apk.sh
112+
// 2. Downloaded by tests/scripts/fetch-rn-playground-apk.sh
113113
// 3. Locally built in sibling connect-monorepo
114114
const PLAYGROUND_APK_CANDIDATES = [
115115
process.env.RN_PLAYGROUND_APK_PATH,
@@ -136,7 +136,7 @@ function resolvePlaygroundApkPath() {
136136
(p) => ` - ${path.resolve(process.cwd(), p)}`,
137137
).join('\n') +
138138
'\n\nTo fix this, either:\n' +
139-
' 1. Run: ./scripts/fetch-rn-playground-apk.sh\n' +
139+
' 1. Run: ./tests/scripts/fetch-rn-playground-apk.sh\n' +
140140
' (downloads the latest APK from connect-monorepo GitHub Releases)\n' +
141141
' 2. Build locally:\n' +
142142
' cd connect-monorepo && yarn install && yarn build\n' +
File renamed without changes.

0 commit comments

Comments
 (0)