|
12 | 12 |
|
13 | 13 | require dirname(__DIR__, 2) . '/vendor/autoload.php'; |
14 | 14 |
|
| 15 | +function getAvailableSymfonyVersions(string $phpVersion): StringArray |
| 16 | +{ |
| 17 | + $return = new StringArray(); |
| 18 | + foreach (new StringArray(['5.0', '5.1', '5.2', '5.3', '5.4', '6.0']) as $symfonyVersion) { |
| 19 | + if (isAvailable($phpVersion, $symfonyVersion)) { |
| 20 | + $return[] = $symfonyVersion; |
| 21 | + } |
| 22 | + } |
| 23 | + |
| 24 | + return $return; |
| 25 | +} |
| 26 | + |
| 27 | +function isAvailable(string $phpVersion, string $symfonyVersion): bool |
| 28 | +{ |
| 29 | + return ($phpVersion !== '7.4' || str_starts_with($symfonyVersion, '5.')); |
| 30 | +} |
| 31 | + |
15 | 32 | function createPhpunitProcesses(string $phpVersion = null, string $symfonyVersion = null): ProcessArray |
16 | 33 | { |
17 | | - $phpVersions = new StringArray(is_string($phpVersion) ? [$phpVersion] : ['7.4', '8.0']); |
18 | | - $symfonyVersions = new StringArray(is_string($symfonyVersion) ? [$symfonyVersion] : ['5.0', '5.1', '5.2', '5.3']); |
| 34 | + $phpVersions = new StringArray(is_string($phpVersion) ? [$phpVersion] : ['7.4', '8.0', '8.1']); |
19 | 35 |
|
20 | 36 | $return = new ProcessArray(); |
21 | 37 | foreach ($phpVersions as $loopPhpVersion) { |
| 38 | + $symfonyVersions = is_string($symfonyVersion) |
| 39 | + ? [$symfonyVersion] |
| 40 | + : getAvailableSymfonyVersions($loopPhpVersion)->toArray(); |
| 41 | + |
22 | 42 | foreach ($symfonyVersions as $loopSymfonyVersion) { |
23 | | - if ( |
24 | | - in_array($loopPhpVersion, ['7.4', '8.0']) |
25 | | - && in_array($loopSymfonyVersion, ['5.0', '5.1', '5.2', '5.3']) |
26 | | - ) { |
| 43 | + if (isAvailable($loopPhpVersion, $loopSymfonyVersion)) { |
27 | 44 | $return[] = createPhpunitProcess($loopPhpVersion, $loopSymfonyVersion); |
28 | 45 | } |
29 | 46 | } |
|
0 commit comments