@@ -12,7 +12,7 @@ permissions:
1212 contents : read
1313
1414jobs :
15- windows :
15+ windows-minimal-exts :
1616 name : x86 / minimal-exts / lowest-php
1717
1818 defaults :
2323
2424 env :
2525 COMPOSER_NO_INTERACTION : ' 1'
26- SYMFONY_DEPRECATIONS_HELPER : ' strict'
2726 ANSICON : ' 121x90 (121x90)'
2827 SYMFONY_PHPUNIT_DISABLE_RESULT_CACHE : ' 1'
2928
@@ -53,30 +52,17 @@ jobs:
5352 iwr -outf php_redis.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php_redis-6.2.0-8.2-ts-vs16-x86.zip
5453 7z x php_redis.zip -y >nul
5554 cd ..
56- Copy php.ini-development php.ini-min
57- "memory_limit=-1" >> php.ini-min
58- "serialize_precision=-1" >> php.ini-min
59- "max_execution_time=1200" >> php.ini-min
60- "post_max_size=2047M" >> php.ini-min
61- "upload_max_filesize=2047M" >> php.ini-min
62- "date.timezone=`"America/Los_Angeles`"" >> php.ini-min
63- "extension_dir=ext" >> php.ini-min
64- "extension=php_xsl.dll" >> php.ini-min
65- "extension=php_mbstring.dll" >> php.ini-min
66- Copy php.ini-min php.ini-max
67- "zend_extension=php_opcache.dll" >> php.ini-max
68- "opcache.enable_cli=1" >> php.ini-max
69- "extension=php_openssl.dll" >> php.ini-max
70- "extension=php_apcu.dll" >> php.ini-max
71- "extension=php_igbinary.dll" >> php.ini-max
72- "extension=php_redis.dll" >> php.ini-max
73- "apc.enable_cli=1" >> php.ini-max
74- "extension=php_intl.dll" >> php.ini-max
75- "extension=php_fileinfo.dll" >> php.ini-max
76- "extension=php_pdo_sqlite.dll" >> php.ini-max
77- "extension=php_curl.dll" >> php.ini-max
78- "extension=php_sodium.dll" >> php.ini-max
79- Copy php.ini-max php.ini
55+ Copy php.ini-development php.ini
56+ "memory_limit=-1" >> php.ini
57+ "serialize_precision=-1" >> php.ini
58+ "max_execution_time=1200" >> php.ini
59+ "post_max_size=2047M" >> php.ini
60+ "upload_max_filesize=2047M" >> php.ini
61+ "date.timezone=`"America/Los_Angeles`"" >> php.ini
62+ "extension_dir=ext" >> php.ini
63+ "extension=php_xsl.dll" >> php.ini
64+ "extension=php_mbstring.dll" >> php.ini
65+ "extension=php_openssl.dll" >> php.ini
8066 cd ${{ github.workspace }}
8167 iwr -outf composer.phar https://getcomposer.org/download/latest-stable/composer.phar
8268
@@ -102,32 +88,113 @@ jobs:
10288 run : |
10389 choco install --no-progress memurai-developer
10490
105- - name : Run tests (minimal extensions)
106- if : always() && steps.setup.outcome == 'success'
91+ - name : Run tests
10792 run : |
10893 $env:Path = 'c:\php;' + $env:Path
109- $env:SYMFONY_PHPUNIT_SKIPPED_TESTS = 'phpunit.skipped'
11094 $x = 0
11195
112- Copy c:\php\php.ini-min c:\php\php.ini
11396 Remove-Item -Path src\Symfony\Bridge\PhpUnit -Recurse
11497 mv src\Symfony\Component\HttpClient\phpunit.xml.dist src\Symfony\Component\HttpClient\phpunit.xml
115- php phpunit src\Symfony --exclude-group tty, benchmark, intl-data, network, transient-on-windows || ($x = 1)
98+ php phpunit src\Symfony --exclude-group tty --exclude-group benchmark --exclude-group intl-data --exclude-group network --exclude-group transient-on-windows || ($x = 1)
11699 # HttpClient tests need to run separately, they block when run with other components' tests concurrently
117100 php phpunit src\Symfony\Component\HttpClient || ($x = 1)
118101
119102 exit $x
120103
104+ windows-all-extensions :
105+ name : x86 / all extensions / lowest-php
106+
107+ defaults :
108+ run :
109+ shell : pwsh
110+
111+ runs-on : windows-2022
112+
113+ env :
114+ COMPOSER_NO_INTERACTION : ' 1'
115+ ANSICON : ' 121x90 (121x90)'
116+ SYMFONY_PHPUNIT_DISABLE_RESULT_CACHE : ' 1'
117+
118+ steps :
119+ - name : Setup Git
120+ run : |
121+ git config --global core.autocrlf false
122+ git config --global user.email ""
123+ git config --global user.name "Symfony"
124+
125+ - name : Checkout
126+ uses : actions/checkout@v4
127+ with :
128+ fetch-depth : 2
129+
130+ - name : Setup PHP
131+ run : |
132+ $env:Path = 'c:\php;' + $env:Path
133+ mkdir c:\php && cd c:\php
134+ iwr -outf php.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php-8.2.0-Win32-vs16-x86.zip
135+ 7z x php.zip -y >nul
136+ cd ext
137+ iwr -outf php_apcu.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php_apcu-5.1.22-8.2-ts-vs16-x86.zip
138+ 7z x php_apcu.zip -y >nul
139+ iwr -outf php_igbinary.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php_igbinary-3.2.16-8.2-ts-vs16-x86.zip
140+ 7z x php_igbinary.zip -y >nul
141+ iwr -outf php_redis.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php_redis-6.2.0-8.2-ts-vs16-x86.zip
142+ 7z x php_redis.zip -y >nul
143+ cd ..
144+ Copy php.ini-development php.ini
145+ "memory_limit=-1" >> php.ini
146+ "serialize_precision=-1" >> php.ini
147+ "max_execution_time=1200" >> php.ini
148+ "post_max_size=2047M" >> php.ini
149+ "upload_max_filesize=2047M" >> php.ini
150+ "date.timezone=`"America/Los_Angeles`"" >> php.ini
151+ "extension_dir=ext" >> php.ini
152+ "extension=php_xsl.dll" >> php.ini
153+ "extension=php_mbstring.dll" >> php.ini
154+ "zend_extension=php_opcache.dll" >> php.ini
155+ "opcache.enable_cli=1" >> php.ini
156+ "extension=php_openssl.dll" >> php.ini
157+ "extension=php_apcu.dll" >> php.ini
158+ "extension=php_igbinary.dll" >> php.ini
159+ "extension=php_redis.dll" >> php.ini
160+ "apc.enable_cli=1" >> php.ini
161+ "extension=php_intl.dll" >> php.ini
162+ "extension=php_fileinfo.dll" >> php.ini
163+ "extension=php_pdo_sqlite.dll" >> php.ini
164+ "extension=php_curl.dll" >> php.ini
165+ "extension=php_sodium.dll" >> php.ini
166+ cd ${{ github.workspace }}
167+ iwr -outf composer.phar https://getcomposer.org/download/latest-stable/composer.phar
168+
169+ - name : Install dependencies
170+ id : setup
171+ run : |
172+ $env:Path = 'c:\php;' + $env:Path
173+ mkdir $env:APPDATA\Composer && Copy .github\composer-config.json $env:APPDATA\Composer\config.json
174+
175+ $env:SYMFONY_VERSION=(Select-String -CaseSensitive -Pattern " VERSION =" -SimpleMatch -Path src/Symfony/Component/HttpKernel/Kernel.php | Select Line | Select-String -Pattern "([0-9][0-9]*\.[0-9])").Matches.Value
176+ $env:COMPOSER_ROOT_VERSION=$env:SYMFONY_VERSION + ".x-dev"
177+
178+ php .github/build-packages.php HEAD^ $env:SYMFONY_VERSION src\Symfony\Bridge\PhpUnit
179+ php composer.phar update --no-progress --ansi
180+
181+ - name : Install PHPUnit
182+ run : |
183+ $env:Path = 'c:\php;' + $env:Path
184+
185+ php phpunit install
186+
187+ - name : Install memurai-developer
188+ run : |
189+ choco install --no-progress memurai-developer
190+
121191 - name : Run tests
122- if : always() && steps.setup.outcome == 'success'
123192 run : |
124193 $env:Path = 'c:\php;' + $env:Path
125- $env:SYMFONY_PHPUNIT_SKIPPED_TESTS = 'phpunit.skipped'
126194 $x = 0
127195
128- Copy c:\php\php.ini-max c:\php\php.ini
129- php phpunit src\Symfony --exclude-group tty,benchmark,intl-data,network,transient-on-windows || ($x = 1)
196+ php phpunit src\Symfony --exclude-group tty --exclude-group benchmark --exclude-group intl-data --exclude-group network --exclude-group transient-on-windows --requires-php-extension apcu --requires-php-extension curl --requires-php-extension fileinfo --requires-php-extension igbinary --requires-php-extension intl --requires-php-extension openssl --requires-php-extension pdo_sqlite --requires-php-extension redis --requires-php-extension sodium || ($x = 1)
130197 # HttpClient tests need to run separately, they block when run with other components' tests concurrently
131- php phpunit src\Symfony\Component\HttpClient || ($x = 1)
198+ php phpunit src\Symfony\Component\HttpClient --requires-php-extension curl --requires-php-extension openssl || ($x = 1)
132199
133200 exit $x
0 commit comments