mirror of
https://github.com/mattermost/mattermost-mobile.git
synced 2026-11-08 12:10:13 +00:00
* ci(e2e): enforce triage verdicts on PR and main E2E lanes by default
A lane red only on failures that are not the PR's now turns green, as on
mattermost and desktop. The E2E_TRIAGE_MODE variable can still set
report-only. The templates' triage announcement follows the same default.
* ci(e2e): don't announce triage on a PR that triage runs report-only for
With the E2E/Triage-report-only label, or labels that cannot be read,
triage runs report-only and never settles the e2e-test/triage check,
so the pending announcement stayed forever. e2e-override-label now
reports that label, and the templates announce only without it.
* ci(e2e): settle a triage check report-only leaves pending; retry status posts on 5xx
- Announce triage only when the report-only label check says 'false'.
- When triage does not enforce (the report-only label added after the
announcement, unreadable labels, or a triage that stopped early), the
e2e-triage action settles this run's own pending e2e-test/triage check
from the lanes' current states.
- createCommitStatus tries a GitHub 5xx or a dropped connection again
(3 attempts); a 4xx still fails at once. A 500 on the iPad lane of this
PR failed a job whose tests passed.
* ci(e2e): retry a 5xx whose body cannot be read; keep test wait records per test
* ci(e2e): bound the 5xx body read in status posts; fix test lint
* ci(e2e): settle the triage check in a final job, from tested code
The settle step inside the triage composite never ran when triage was
skipped (a re-run that turned every lane green), and wrote without a
retry. A final job now settles this run's own e2e-test/triage check once
every lane is final: pending, or red while every lane is green. A lane
that is pending or never posted counts as not final, never green. The
decision lives in detox/utils/tsio-triage-settle.js with unit tests, and
the write goes through createCommitStatus, which now also retries a 429.
* ci(e2e): triage a lane that ended abandoned, not only failed
Run 41818921294: five Android shards never got a runner, so the lane's
workflow ended "abandoned" and triage, which ran only on "failure",
was skipped. The lane stayed red with no verdict and no re-run. Triage
now runs on any lane result but success or skipped.
* ci(e2e): retry the settle job's status reads; share the GitHub retry
- githubRequestWithRetry (tsio-report-status.js) holds the retry policy
(5xx, 429, dropped connection; a stalled body is bounded); createCommitStatus
and the settle job's status reads both use it, so a transient error on the
read no longer leaves e2e-test/triage pending.
- The settle script imports TRIAGE_CHECK_CONTEXT instead of redefining it.
- The tsio-triage gate's comment says where 'abandoned' was seen.
* fix(e2e): bound status-body reads and abort unused response bodies in githubRequestWithRetry
* fix(e2e): scope settle lane statuses to runId and bound status-body reads
* ci(e2e): check out the settle script from the dispatch ref, not MOBILE_VERSION
The settle job checked out its script at the commit under test. A PR commit that
predates detox/utils/tsio-triage-settle.js has no script, so the node step fails
and this run's e2e-test/triage check is never settled; and the job holds a token
that writes statuses, so it should not run the branch's code. It now checks out
the dispatch ref, as the triage action does; --sha still names the tested commit.
* fix(e2e): keep ABAC grant tests inside the 300s test budget
#10301 made MM-68219_5 and MM-70693_2 wait up to four minutes, after the grant
check, for the server to deny the user again. Login, channel open and the grant
wait already take 136-210s, so whenever the deny was slow the test hit Jest's
300s timeout: MM-68219_5 timed out on both attempts on main (
|
||
|---|---|---|
| .. | ||
| artifacts.js | ||
| build-tsio-job-config.js | ||
| build-tsio-job-config.test.js | ||
| check-server-mutation-manifest.js | ||
| check-server-mutation-manifest.test.js | ||
| cli-args.js | ||
| cmt-channel-notify.js | ||
| cmt-channel-notify.test.js | ||
| constants.js | ||
| disable_ios_autofill.js | ||
| e2e-run-breakdown.js | ||
| e2e-run-breakdown.test.js | ||
| failed-jest-specs.js | ||
| failed-jest-specs.test.js | ||
| generate_detox_config_ci.js | ||
| jest_stare.js | ||
| maestro_report.js | ||
| maestro_report.test.js | ||
| maestro_test_cases.js | ||
| maestro-triage-evidence.js | ||
| maestro-triage-evidence.test.js | ||
| merge-jest-results-for-tsio.js | ||
| merge-jest-results-for-tsio.test.js | ||
| network-outage-specs.js | ||
| network-outage-specs.test.js | ||
| post_message_as.js | ||
| report.js | ||
| report.test.js | ||
| rerun-failed.js | ||
| rerun-failed.test.js | ||
| resolve-tsio-job-config.sh | ||
| retriable_cloud_error.js | ||
| retriable_cloud_error.test.js | ||
| spec-durations.js | ||
| test_cases.js | ||
| triage-evidence.js | ||
| triage-evidence.test.js | ||
| tsio-channel-notify-rollup.js | ||
| tsio-channel-notify-rollup.test.js | ||
| tsio-report-status.js | ||
| tsio-report-status.test.js | ||
| tsio-triage-settle.js | ||
| tsio-triage-settle.test.js | ||
| webhook_utils.js | ||
| write-tsio-failure-stub.mjs | ||
| xml_escape.test.js | ||