mirror of
https://github.com/mattermost/mattermost-mobile.git
synced 2026-11-07 03:10:12 +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 (
|
||
|---|---|---|
| .. | ||
| await-results-service | ||
| bandwidth-throttling | ||
| build-android-maestro-apk | ||
| compute-e2e-build-fingerprint | ||
| e2e-override-label | ||
| e2e-override-status | ||
| e2e-triage | ||
| e2e-verified-status | ||
| generate-specs | ||
| prepare-android-build | ||
| prepare-ios-build | ||
| prepare-low-bandwidth | ||
| prepare-mobile-build | ||
| prepare-node-deps | ||
| provision-e2e-servers | ||
| s3-build-cache | ||
| s3-spec-durations | ||
| setup-intune | ||
| setup-intune-ssh-key | ||
| setup-ssh-key | ||
| start-proxy | ||
| test | ||
| test-coverage | ||
| update-commit-status | ||