mattermost-mobile-upstream/detox/utils
yasser khan cd1ee5322b
Some checks are pending
ci / lint-typecheck (push) Waiting to run
ci / detox-lint-typecheck (push) Waiting to run
ci / test (push) Waiting to run
E2E: CI flake fixes; bump Maestro 2.11.0 and Detox 20.51.4 (#10257)
* fix(maestro): reset the iOS app before each batch; wait for timed-out config writes

- iOS: clearState reinstalls and launches at once, and on a loaded runner FrontBoard
  may not know the app yet. reset_ios_app.sh reinstalls it and returns once it
  launches; flows then skip clearState. A failed reset fails the batch.
- A config/patch the client timed out on is usually still applied, since saves run one
  at a time. Wait for it to land instead of resending, which queued more saves.
- iOS merges the server URL field label with its inline error; match the merged text.

* chore(e2e): bump Maestro to 2.11.0

* ci(e2e): give the Android emulator working DNS before specs run

Start the emulator with explicit resolvers, wait for it to resolve SITE_1 before
installing the app, and cold-boot it once if it cannot.

* ci(e2e): re-run iOS specs that failed only because the runner lost its route

The runner Mac can lose its network route for ~2 s, failing every request with -1009.
After a failed shard, re-run once only the spec files whose every failing test shows that
signature in its own device.log, and merge the results. Any other failure stays red.

* chore(e2e): bump Detox to 20.51.4

Adds regex toHaveText and RegExp/array URL blacklists; existing string-array
setURLBlacklist calls are unchanged. The postinstall patches still apply.

* fix(e2e): keep failures red when an iOS re-run or app reset fails

- Clear a shard failure only when the route-loss re-run and the merge both succeed.
- Record a JUnit failure when an isolated Maestro step cannot reset the app.
- Use /etc/resolv.conf for emulator DNS when systemd-resolved is absent.
- Set the runner-reset flag only when there is a device to reset.

* fix(maestro): bound simctl launch and terminate in the iOS app reset

* fix(maestro): find the server URL field by id when scrolling back to it

* fix(maestro): stop the batches when the config baseline cannot be applied
2026-10-19 22:58:41 +05:30
..
artifacts.js test(detox): re-submit RF→Detox migration without unintended UI changes (#9847) 2026-06-19 22:44:02 +05:30
build-tsio-job-config.js ci(e2e): make E2E/Override waive checks instead of cancelling runs (#9975) 2026-07-31 14:22:19 +02:00
build-tsio-job-config.test.js ci(e2e): make E2E/Override waive checks instead of cancelling runs (#9975) 2026-07-31 14:22:19 +02:00
cli-args.js feat(e2e): Integrate TSIO reporting (#9925) 2026-07-23 06:43:28 +00:00
cmt-channel-notify.js fix(e2e): Quarantine proven flakes and harden Detox harness (#9971) 2026-07-30 02:40:23 +05:30
cmt-channel-notify.test.js fix(e2e): Quarantine proven flakes and harden Detox harness (#9971) 2026-07-30 02:40:23 +05:30
constants.js Detox/E2E: Scripts to run tests and save report (#6560) 2022-08-13 08:37:24 -04:00
disable_ios_autofill.js test(detox): re-submit RF→Detox migration without unintended UI changes (#9847) 2026-06-19 22:44:02 +05:30
failed-jest-specs.js fix: stabilize server switch, saved posts, favorites, and related runtime races (#10122) 2026-09-09 00:35:15 +05:30
failed-jest-specs.test.js fix: stabilize server switch, saved posts, favorites, and related runtime races (#10122) 2026-09-09 00:35:15 +05:30
generate_detox_config_ci.js test(detox): re-submit RF→Detox migration without unintended UI changes (#9847) 2026-06-19 22:44:02 +05:30
jest_stare.js test(detox): re-submit RF→Detox migration without unintended UI changes (#9847) 2026-06-19 22:44:02 +05:30
maestro_report.js test(e2e): close manual release-test gaps (#10125) 2026-09-11 09:48:02 +05:30
maestro_report.test.js test(e2e): close manual release-test gaps (#10125) 2026-09-11 09:48:02 +05:30
maestro_test_cases.js feat(e2e): Integrate TSIO reporting (#9925) 2026-07-23 06:43:28 +00:00
merge-jest-results-for-tsio.js test(e2e): fix main-branch E2E flakes and make a killed shard report red (#10161) 2026-09-17 16:25:02 +05:30
merge-jest-results-for-tsio.test.js test(e2e): fix main-branch E2E flakes and make a killed shard report red (#10161) 2026-09-17 16:25:02 +05:30
network-outage-specs.js E2E: CI flake fixes; bump Maestro 2.11.0 and Detox 20.51.4 (#10257) 2026-10-19 22:58:41 +05:30
network-outage-specs.test.js E2E: CI flake fixes; bump Maestro 2.11.0 and Detox 20.51.4 (#10257) 2026-10-19 22:58:41 +05:30
post_message_as.js Detox/E2E: Migrate e2e javascript to typescript (#6059) 2022-03-17 17:35:26 -07:00
report.js fix: stabilize server switch, saved posts, favorites, and related runtime races (#10122) 2026-09-09 00:35:15 +05:30
report.test.js fix: stabilize server switch, saved posts, favorites, and related runtime races (#10122) 2026-09-09 00:35:15 +05:30
resolve-tsio-job-config.sh ci(e2e): per-job TSIO report groups, commit statuses, and webhook sidecar (#9969) 2026-07-29 13:45:06 +05:30
retriable_cloud_error.js test(e2e): close manual release-test gaps (#10125) 2026-09-11 09:48:02 +05:30
retriable_cloud_error.test.js test(e2e): close manual release-test gaps (#10125) 2026-09-11 09:48:02 +05:30
spec-durations.js chore(e2e): Cache app builds. Skip E2E on docs only PR. (#9930) 2026-08-04 19:13:39 +05:30
test_cases.js chore(e2e): Fix e2e artifact upload path for CMT workflow (#9955) 2026-07-21 11:44:34 +03:00
tsio-channel-notify-rollup.js fix(e2e): Quarantine proven flakes and harden Detox harness (#9971) 2026-07-30 02:40:23 +05:30
tsio-channel-notify-rollup.test.js fix(e2e): Quarantine proven flakes and harden Detox harness (#9971) 2026-07-30 02:40:23 +05:30
tsio-report-status.js ci(e2e): make E2E/Override waive checks instead of cancelling runs (#9975) 2026-07-31 14:22:19 +02:00
tsio-report-status.test.js ci(e2e): make E2E/Override waive checks instead of cancelling runs (#9975) 2026-07-31 14:22:19 +02:00
webhook_utils.js Add Multiselect, Dynamic Select, Multiform, and Field Refresh Support for Interactive Dialogs (#9484) 2026-03-18 15:15:08 -06:00
write-tsio-failure-stub.mjs feat(e2e): Integrate TSIO reporting (#9925) 2026-07-23 06:43:28 +00:00
xml_escape.test.js Fix/detox hittest cluster (#10023) 2026-08-27 08:58:03 +05:30