@@ -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
@@ -98,36 +84,113 @@ jobs:
9884
9985 php phpunit install
10086
101- - name : Install memurai-developer
102- run : |
103- choco install --no-progress memurai-developer
104-
105- - name : Run tests (minimal extensions)
106- if : always() && steps.setup.outcome == 'success'
87+ - name : Run tests
10788 run : |
10889 $env:Path = 'c:\php;' + $env:Path
109- $env:SYMFONY_PHPUNIT_SKIPPED_TESTS = 'phpunit.skipped'
11090 $x = 0
11191
112- Copy c:\php\php.ini-min c:\php\php.ini
11392 Remove-Item -Path src\Symfony\Bridge\PhpUnit -Recurse
11493 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)
94+ php phpunit src\Symfony --exclude-group tty --exclude-group benchmark --exclude-group intl-data --exclude-group network --exclude-group transient-on-windows || ($x = 1)
11695 # HttpClient tests need to run separately, they block when run with other components' tests concurrently
11796 php phpunit src\Symfony\Component\HttpClient || ($x = 1)
11897
11998 exit $x
12099
100+ windows-all-extensions :
101+ name : x86 / all extensions / lowest-php
102+
103+ defaults :
104+ run :
105+ shell : pwsh
106+
107+ runs-on : windows-2022
108+
109+ env :
110+ COMPOSER_NO_INTERACTION : ' 1'
111+ ANSICON : ' 121x90 (121x90)'
112+ SYMFONY_PHPUNIT_DISABLE_RESULT_CACHE : ' 1'
113+
114+ steps :
115+ - name : Setup Git
116+ run : |
117+ git config --global core.autocrlf false
118+ git config --global user.email ""
119+ git config --global user.name "Symfony"
120+
121+ - name : Checkout
122+ uses : actions/checkout@v4
123+ with :
124+ fetch-depth : 2
125+
126+ - name : Setup PHP
127+ run : |
128+ $env:Path = 'c:\php;' + $env:Path
129+ mkdir c:\php && cd c:\php
130+ iwr -outf php.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php-8.2.0-Win32-vs16-x86.zip
131+ 7z x php.zip -y >nul
132+ cd ext
133+ 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
134+ 7z x php_apcu.zip -y >nul
135+ 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
136+ 7z x php_igbinary.zip -y >nul
137+ 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
138+ 7z x php_redis.zip -y >nul
139+ cd ..
140+ Copy php.ini-development php.ini
141+ "memory_limit=-1" >> php.ini
142+ "serialize_precision=-1" >> php.ini
143+ "max_execution_time=1200" >> php.ini
144+ "post_max_size=2047M" >> php.ini
145+ "upload_max_filesize=2047M" >> php.ini
146+ "date.timezone=`"America/Los_Angeles`"" >> php.ini
147+ "extension_dir=ext" >> php.ini
148+ "extension=php_xsl.dll" >> php.ini
149+ "extension=php_mbstring.dll" >> php.ini
150+ "zend_extension=php_opcache.dll" >> php.ini
151+ "opcache.enable_cli=1" >> php.ini
152+ "extension=php_openssl.dll" >> php.ini
153+ "extension=php_apcu.dll" >> php.ini
154+ "extension=php_igbinary.dll" >> php.ini
155+ "extension=php_redis.dll" >> php.ini
156+ "apc.enable_cli=1" >> php.ini
157+ "extension=php_intl.dll" >> php.ini
158+ "extension=php_fileinfo.dll" >> php.ini
159+ "extension=php_pdo_sqlite.dll" >> php.ini
160+ "extension=php_curl.dll" >> php.ini
161+ "extension=php_sodium.dll" >> php.ini
162+ cd ${{ github.workspace }}
163+ iwr -outf composer.phar https://getcomposer.org/download/latest-stable/composer.phar
164+
165+ - name : Install dependencies
166+ id : setup
167+ run : |
168+ $env:Path = 'c:\php;' + $env:Path
169+ mkdir $env:APPDATA\Composer && Copy .github\composer-config.json $env:APPDATA\Composer\config.json
170+
171+ $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
172+ $env:COMPOSER_ROOT_VERSION=$env:SYMFONY_VERSION + ".x-dev"
173+
174+ php .github/build-packages.php HEAD^ $env:SYMFONY_VERSION src\Symfony\Bridge\PhpUnit
175+ php composer.phar update --no-progress --ansi
176+
177+ - name : Install PHPUnit
178+ run : |
179+ $env:Path = 'c:\php;' + $env:Path
180+
181+ php phpunit install
182+
183+ - name : Install memurai-developer
184+ run : |
185+ choco install --no-progress memurai-developer
186+
121187 - name : Run tests
122- if : always() && steps.setup.outcome == 'success'
123188 run : |
124189 $env:Path = 'c:\php;' + $env:Path
125- $env:SYMFONY_PHPUNIT_SKIPPED_TESTS = 'phpunit.skipped'
126190 $x = 0
127191
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)
192+ 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)
130193 # HttpClient tests need to run separately, they block when run with other components' tests concurrently
131- php phpunit src\Symfony\Component\HttpClient || ($x = 1)
194+ php phpunit src\Symfony\Component\HttpClient --requires-php-extension curl --requires-php-extension openssl || ($x = 1)
132195
133196 exit $x
0 commit comments