CI: route trinket FTs to test-FTs-room stage alongside game_room_*
User ask: ensure trinket FTs (test_trinket_carte_blanche.py, test_trinket_coin_on_a_string.py, test_trinket_backstage_pass.py) run in the room-stage CI bucket so they exercise the same room-template surface as test_game_room_* — relevant when a sprint touches the table hex SCSS / chair geometry / gatekeeper flow, since trinket FTs create rooms + walk thru the gate. Previously they fell into test-FTs-non-room by elimination (the non-room glob was `grep -v 'test_game_room_'`) ; main.yaml updates: non-room step's grep is now `-vE 'test_(game_room|trinket)_'` to exclude both clusters; room step's ls now globs BOTH `test_game_room_*.py` AND `test_trinket_*.py` ; companion memory tweak in feedback_ft_naming_prefix.md documents the new convention so future trinket FTs end up in the right bucket without re-asking ; pipeline behavior unchanged otherwise — both steps still depend_on test-two-browser-FTs only, parallel re-enable still blocked by the shared-sqlite issue from 2026-05-12 (cf. memo note) Code architected by Disco DeDisco <discodedisco@outlook.com> Git commit message Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -107,10 +107,11 @@ steps:
|
|||||||
commands:
|
commands:
|
||||||
- pip install -r requirements.dev.txt
|
- pip install -r requirements.dev.txt
|
||||||
- cd ./src
|
- cd ./src
|
||||||
# Every FT file EXCEPT test_game_room_* — that cluster runs in
|
# Every FT file EXCEPT test_game_room_* and test_trinket_* — both
|
||||||
# test-FTs-room. Channels + two-browser tags already covered upstream.
|
# clusters run in test-FTs-room. Channels + two-browser tags already
|
||||||
# `ls | grep -v | sed` enumerates module dotted-paths from filenames.
|
# covered upstream. `ls | grep -v | sed` enumerates module dotted-paths
|
||||||
- python manage.py test --exclude-tag=channels --exclude-tag=two-browser $(ls functional_tests/test_*.py | grep -v 'test_game_room_' | sed 's|/|.|g;s|\.py||')
|
# from filenames.
|
||||||
|
- python manage.py test --exclude-tag=channels --exclude-tag=two-browser $(ls functional_tests/test_*.py | grep -vE 'test_(game_room|trinket)_' | sed 's|/|.|g;s|\.py||')
|
||||||
when:
|
when:
|
||||||
- event: push
|
- event: push
|
||||||
path:
|
path:
|
||||||
@@ -137,11 +138,14 @@ steps:
|
|||||||
commands:
|
commands:
|
||||||
- pip install -r requirements.dev.txt
|
- pip install -r requirements.dev.txt
|
||||||
- cd ./src
|
- cd ./src
|
||||||
# Heavy Selenium room flows — 9 files (deck_contrib, gatekeeper,
|
# Heavy Selenium room flows — test_game_room_* (deck_contrib,
|
||||||
# invite, select_role/sea/sig/sky, tray, tray_tooltip) isolated
|
# gatekeeper, invite, select_role/sea/sig/sky, tray, tray_tooltip)
|
||||||
# into their own sub-step. Runs in parallel w. test-FTs-non-room
|
# AND test_trinket_* (carte_blanche, coin_on_a_string, backstage_pass)
|
||||||
|
# since trinket FTs create rooms + load the room template (where the
|
||||||
|
# table hex SCSS + chair geometry live), so they exercise the same
|
||||||
|
# surface as test_game_room_*. Runs in parallel w. test-FTs-non-room
|
||||||
# (distinct DATABASE_URL paths under /tmp; see split-rationale).
|
# (distinct DATABASE_URL paths under /tmp; see split-rationale).
|
||||||
- python manage.py test --exclude-tag=channels --exclude-tag=two-browser $(ls functional_tests/test_game_room_*.py | sed 's|/|.|g;s|\.py||')
|
- python manage.py test --exclude-tag=channels --exclude-tag=two-browser $(ls functional_tests/test_game_room_*.py functional_tests/test_trinket_*.py | sed 's|/|.|g;s|\.py||')
|
||||||
when:
|
when:
|
||||||
- event: push
|
- event: push
|
||||||
path:
|
path:
|
||||||
|
|||||||
Reference in New Issue
Block a user