diff --git a/.woodpecker/main.yaml b/.woodpecker/main.yaml index b53b166..c6a9b19 100644 --- a/.woodpecker/main.yaml +++ b/.woodpecker/main.yaml @@ -54,9 +54,18 @@ steps: # Also collectstatic'd here; output sits in the shared workspace so # the downstream FT steps don't have to repeat it. - python manage.py collectstatic --noinput - - python manage.py test functional_tests --tag=two-browser - - python manage.py test functional_tests --tag=sequential - - python manage.py test functional_tests --tag=channels + # All three tag-stages run through `_retry_failed.sh` so a single + # browsing-context-discarded / NoSuchWindow flake on a multi-browser + # channels FT (typically the LAST test in the suite, when Firefox + # has accumulated memory pressure from 21 prior browser launches) + # costs ~30s on retry instead of failing the whole step. Matches + # the retry posture of test-FTs-room + test-FTs-non-room. First- + # run-green still exits 0 immediately — no overhead in the happy + # path. First-run-crash w. no parseable labels propagates the + # original exit (genuine infra problems aren't masked). + - bash ../.woodpecker/_retry_failed.sh functional_tests --tag=two-browser + - bash ../.woodpecker/_retry_failed.sh functional_tests --tag=sequential + - bash ../.woodpecker/_retry_failed.sh functional_tests --tag=channels when: - event: push path: