Run scenarios in parallel workers on Windows
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
調査の方向性
Start with the Windows branch in bin/run-behat-tests, which sets PARALLEL to empty, and with the worker startup, output and exit-code handling in utils/behat-parallel.php. Check how temporary directories and TMPDIR/TEMP are used under Git Bash. Done means the Windows job runs with WP_CLI_TEST_PARALLEL=4 on a draft branch, with results matching the serial run and Behat time reduced. This needs Windows CI access and familiarity with the project's process handling.
索引モデルが issue の本文から書いたものです。
説明
Part of #394. Follow-up to #390.
bin/run-behat-tests turns parallel workers off on Windows (MINGW*|MSYS*|CYGWIN*) PARALLEL="";;), and the Docker mode is unavailable there as well, so the Windows Behat job runs every scenario one after the other. Since the Linux jobs run in 4 parallel workers, the Windows job is now the longest job of most large suites. In the full-matrix runs of 2026-11-02:
| Package | Longest Linux job | macOS job (4 workers) | Windows job (serial) |
|---|---|---|---|
entity-command |
9.8 min | 23.2 min | 53.0 min |
extension-command |
8.4 min | 12.9 min | 28.7 min |
core-command |
5.3 min | 4.7 min | 11.4 min |
media-command |
4.9 min | 6.9 min | 11.0 min |
scaffold-command |
5.4 min | 3.4 min | 9.1 min |
language-command |
4.4 min | 3.4 min | 8.8 min |
The Windows job is continue-on-error, so it does not block a pull request. It still sets how long the Testing workflow takes to finish, though. In entity-command, the job took 53 minutes for 498 scenarios. The macOS job already runs in parallel workers on the runner and went from about 26 to 23 minutes.
The Windows job uses SQLite, so the worker databases are not an obstacle. #405 does not say why Windows was left out. Things to check before turning it on:
- process handling in
utils/behat-parallel.php(starting the workers, collecting their output and exit codes, and signals, see #418) with Git Bash and the Windows PHP build; - per-worker temporary directories and
TMPDIR, as Windows usesTEMP/TMP, and the runner moves temporary files to the D: drive; - run directories are still removed right away on Windows (#403), which may make workers slower than expected;
- scenarios that use fixed ports or background processes, which already run in the first worker.
Measuring: run the Windows job of entity-command and extension-command with WP_CLI_TEST_PARALLEL=4 on a draft branch, and compare Behat time and results with the serial runs of 2026-11-02. Check the first parallel pass, not only the result after composer behat-rerun.
- 主要言語
- PHP
- スター
- 42
- フォーク
- 28
- 平均マージ
- 18時間 52分
- マージ済み PR(30日)
- 27
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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日 初心者へのやさしさ 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 1週間以上 初心者へのやさしさ 20/100
wp-cli/wp-cli-tests#395 ·
メンテナーはふだん 1 日以内に返信
-
scope:testing
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
wp-cli/wp-cli-tests#394 ·
メンテナーはふだん 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 日以内に返信