11name : Unit Tests
22
3+ defaults :
4+ run :
5+ shell : bash
6+
37on :
48 push :
59 paths-ignore :
@@ -18,14 +22,15 @@ concurrency:
1822
1923jobs :
2024 php :
21- runs-on : ubuntu-latest
25+ runs-on : ${{ matrix.os || ' ubuntu-latest' }}
2226 strategy :
2327 fail-fast : false
2428 matrix :
2529 php-version : ['8.1', '8.2', '8.3', '8.4']
2630 dependency-version : ['']
2731 symfony-version : ['']
2832 minimum-stability : ['stable']
33+ os : ['']
2934 include :
3035 # dev packages (probably not needed to have multiple such jobs)
3136 - minimum-stability : ' dev'
3641 # LTS version of Symfony
3742 - php-version : ' 8.1'
3843 symfony-version : ' 6.4.*'
44+ - php-version : ' 8.1'
45+ symfony-version : ' 6.4.*'
46+ os : ' windows-latest'
3947
4048 env :
4149 SYMFONY_REQUIRE : ${{ matrix.symfony-version || '>=5.4' }}
6674 uses : shivammathur/setup-php@v2
6775 with :
6876 php-version : ${{ matrix.php-version }}
77+ extensions : ${{ matrix.os == 'windows-latest' && 'pdo_sqlite,sqlite3,fileinfo' || '' }}
6978 tools : flex
7079
7180 - name : Get composer cache directory
@@ -93,13 +102,24 @@ jobs:
93102 run : |
94103 source .github/workflows/.utils.sh
95104
96- echo "$PACKAGES" | xargs -n1 | parallel -j +3 "_run_task {} \
97- '(cd src/{} \
98- && $COMPOSER_MIN_STAB \
99- && $COMPOSER_UP \
100- && if [ {} = LiveComponent ]; then install_property_info_for_version \"${{ matrix.php-version }}\" \"${{ matrix.minimum-stability }}\"; fi \
101- && $PHPUNIT)'"
102-
105+ if [ "${{ matrix.os }}" = "windows-latest" ]; then
106+ # parallel is not available on Windows, so we need to run the tests sequentially
107+ for PACKAGE in $PACKAGES; do
108+ (PACKAGE="$PACKAGE" _run_task $PACKAGE \
109+ '(cd src/$PACKAGE \
110+ && $COMPOSER_MIN_STAB \
111+ && $COMPOSER_UP \
112+ && if [ "$PACKAGE" = "LiveComponent" ]; then install_property_info_for_version \"${{ matrix.php-version }}\" \"${{ matrix.minimum-stability }}\"; fi \
113+ && $PHPUNIT)')
114+ done
115+ else
116+ echo "$PACKAGES" | xargs -n1 | parallel -j +3 "_run_task {} \
117+ '(cd src/{} \
118+ && $COMPOSER_MIN_STAB \
119+ && $COMPOSER_UP \
120+ && if [ {} = LiveComponent ]; then install_property_info_for_version \"${{ matrix.php-version }}\" \"${{ matrix.minimum-stability }}\"; fi \
121+ && $PHPUNIT)'"
122+ fi
103123 js :
104124 runs-on : ubuntu-latest
105125 strategy :
0 commit comments