From 6c72c843b68ce0c0e5501052d146c808f6d6d0c3 Mon Sep 17 00:00:00 2001 From: Alain Schlesser Date: Sat, 31 Oct 2026 12:22:05 +0100 Subject: [PATCH 1/2] Run the Behat tests in parallel workers in throwaway containers Co-Authored-By: Claude Opus 5.5 --- .github/workflows/reusable-functional.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/reusable-functional.yml b/.github/workflows/reusable-functional.yml index b4da62b..2bff275 100644 --- a/.github/workflows/reusable-functional.yml +++ b/.github/workflows/reusable-functional.yml @@ -226,6 +226,11 @@ jobs: WP_CLI_TEST_DBSOCKET: '${{ steps.setup-mysql.outputs.base-dir }}/tmp/mysql.sock' WP_CLI_TEST_COVERAGE: ${{ inputs.coverage }} BEHAT_ARGS: ${{ format( '{0}', runner.debug && '--format=pretty' ) }} + # Spread the scenarios over parallel workers, each in its own throwaway containers. + # Where Docker cannot be used, such as on Windows and macOS or when collecting code + # coverage, wp-cli/wp-cli-tests falls back on its own. Older versions ignore these. + WP_CLI_TEST_PARALLEL: 4 + WP_CLI_TEST_DOCKER: 1 run: | composer behat -- $BEHAT_ARGS || composer behat-rerun -- $BEHAT_ARGS From bbc40497e232e81723aa66abcfacb51a16605eaa Mon Sep 17 00:00:00 2001 From: Alain Schlesser Date: Sat, 31 Oct 2026 18:29:18 +0100 Subject: [PATCH 2/2] Fall back to running without Docker where it cannot be used Co-Authored-By: Claude Opus 5.5 --- .github/workflows/reusable-functional.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-functional.yml b/.github/workflows/reusable-functional.yml index 2bff275..e550156 100644 --- a/.github/workflows/reusable-functional.yml +++ b/.github/workflows/reusable-functional.yml @@ -230,7 +230,7 @@ jobs: # Where Docker cannot be used, such as on Windows and macOS or when collecting code # coverage, wp-cli/wp-cli-tests falls back on its own. Older versions ignore these. WP_CLI_TEST_PARALLEL: 4 - WP_CLI_TEST_DOCKER: 1 + WP_CLI_TEST_DOCKER: auto run: | composer behat -- $BEHAT_ARGS || composer behat-rerun -- $BEHAT_ARGS