Run Behat in throwaway containers when Docker is available
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
研究方向
Read #390 to see the worker design and #384 for the baseline timing. The repo likely needs a Dockerfile for a tuned PHP image without Xdebug, and changes to the test runner to launch throwaway containers per worker. Done when a draft PR runs CI jobs with containerized Behat and shows snapshot restore working. Fallback to regular runner must remain when Docker is absent.
由索引模型根據 Issue 內容生成。
描述
When Docker is available, a run could happen in throwaway containers, one per worker from #390. The container is not faster by itself: PHP ran at the same speed inside and outside of it in local tests. What it allows without root on the host is what makes the difference:
- the temporary directories and the database in memory, with no disk syncs;
- copy-on-write snapshots of the cached WordPress install instead of a full copy for every scenario (about 6 ms instead of about 90 ms to set up and tear down);
- a separate network per worker, so scenarios using fixed ports can run in parallel;
- a known toolchain, so every declared test requirement is present.
Starting a container takes about 0.3 to 0.5 seconds and every docker exec about 50 to 75 ms. Running the whole Behat process of a worker inside one container avoids that cost per command. The container's PHP version has to match the one the vendor folder was installed for.
Steps:
- Provide an image tuned for the test runs, without Xdebug unless coverage is requested.
- Run each worker of #390 in its own throwaway container, falling back to the regular runner when Docker is not available.
- Restore the cached WordPress install as a snapshot instead of a copy.
To reproduce a failure, it is enough to rerun that single scenario in a container that is kept.
Measuring: take the baseline from #384, then open a draft PR, run the same CI jobs against it and record both results here before we decide.
- 主要語言
- PHP
- 星號
- 42
- 分支
- 28
- 平均合併
- 18 小時 52 分鐘
- 30 天內合併 PR
- 27
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
wp-cli/wp-cli-tests 的其他 Issue
-
scope:testing status:unconfirmed
難度 2/5 1-3 小時 新手友好度 65/100
wp-cli/wp-cli-tests#389 · 1 則留言 ·
維護者通常 1 天內回覆
-
scope:testing
難度 4/5 3-5 天 新手友好度 25/100
wp-cli/wp-cli-tests#427 ·
維護者通常 1 天內回覆
-
scope:testing
難度 4/5 3-5 天 新手友好度 22/100
wp-cli/wp-cli-tests#426 ·
維護者通常 1 天內回覆
-
scope:testing
難度 4/5 3-5 天 新手友好度 25/100
wp-cli/wp-cli-tests#425 ·
維護者通常 1 天內回覆
-
scope:testing
難度 5/5 一週以上 新手友好度 20/100
wp-cli/wp-cli-tests#395 ·
維護者通常 1 天內回覆
查看 wp-cli/wp-cli-tests 的全部 Issue
相似的 Issue
-
mobile-app
難度 2/5 1-3 小時 新手友好度 74/100
Open-Locker/Open-Locker#352 ·
維護者通常 1 天內回覆
-
[Bug]: SCIM Users groups[].value is returned as an integer, causing authentik user discovery to fail未關閉
難度 2/5 1-3 小時 新手友好度 62/100
grokability/snipe-it#20006 ·
維護者通常 1 天內回覆
-
fixed
難度 2/5 1-3 小時 新手友好度 62/100
firefly-iii/firefly-iii#13150 · 2 則留言 ·
維護者通常 1 天內回覆
-
type/bug
難度 2/5 1-3 小時 新手友好度 62/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 62/100
TYPO3-Solr/ext-solr#4828 ·
維護者通常 5 天內回覆