* refactor(shard): extract parseListTestsOutput for testability
* test(shard): characterize parseListTestsOutput current behavior
* fix(shard): parse any PHP FQCN namespace from --list-tests
* fix(shard): forward --test-directory to list-tests subprocess
* chore: lint + snapshot fixups
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* refactor(shard): make extracted helpers private, test via reflection
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* revert visual_snapshot_of_help_command_output
* revert visual_snapshot_of_help_command_output
* keep function removeParallelArguments
* strip --processes argument when building list-tests command
The removeParallelArguments method was not filtering --processes flags, causing the list-tests subprocess to fail when parallel execution was enabled. This prevented time-based sharding from working correctly with the --parallel option.
Now both --parallel/-p and --processes arguments are removed from the command used to enumerate tests, ensuring the subprocess runs successfully.
* test: re-add namespace-agnostic sharding tests
- 5.x merge kept describe()-style test file, dropped PR #1677 tests for parseListTestsOutput + buildListTestsCommand. Re-add them in matching style.
- Also fix removeParallelArguments test broken by merge: source array_values() + strips --processes, so expects ['bin/pest','tests/'].
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: update gitlab urls for issues and prs to match new format
Added an optional host parameter to the gitlab method, defaulting to 'gitlab.com'. Updated the issues and prs URLs to include '/-/' in the path, which is the new format for GitLab URLs. This change ensures that the URLs generated for GitLab projects are correct and reflect the new structure of GitLab's URLs for issues and merge requests.
Host parameter allows users to specify a custom GitLab instance if they are using a self-hosted version of GitLab, while still maintaining the default behavior for users who are using gitlab.com.
* fix: update gitlab method to use hostname parameter correctly
* fix(composer): set root version for feature-branch CI
pest-plugin-browser ^4.3.1 requires pestphp/pest ^4.4.5 on the root package.
Without an explicit version, Composer infers dev-<branch> on PR branches,
which fails composer update before tests run.
* set root version of composer
* fix indent