@@ -12,7 +12,7 @@ permissions:
12
12
contents : read
13
13
14
14
jobs :
15
- windows :
15
+ windows-minimal-exts :
16
16
name : x86 / minimal-exts / lowest-php
17
17
18
18
defaults :
23
23
24
24
env :
25
25
COMPOSER_NO_INTERACTION : ' 1'
26
- SYMFONY_DEPRECATIONS_HELPER : ' strict'
27
26
ANSICON : ' 121x90 (121x90)'
28
27
SYMFONY_PHPUNIT_DISABLE_RESULT_CACHE : ' 1'
29
28
@@ -51,30 +50,17 @@ jobs:
51
50
iwr -outf php_redis-6.0.0-dev-8.2-ts-vs16-x86.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php_redis-6.0.0-dev-8.2-ts-vs16-x86.zip
52
51
7z x php_redis-6.0.0-dev-8.2-ts-vs16-x86.zip -y >nul
53
52
cd ..
54
- Copy php.ini-development php.ini-min
55
- "memory_limit=-1" >> php.ini-min
56
- "serialize_precision=-1" >> php.ini-min
57
- "max_execution_time=1200" >> php.ini-min
58
- "post_max_size=2047M" >> php.ini-min
59
- "upload_max_filesize=2047M" >> php.ini-min
60
- "date.timezone=`"America/Los_Angeles`"" >> php.ini-min
61
- "extension_dir=ext" >> php.ini-min
62
- "extension=php_xsl.dll" >> php.ini-min
63
- "extension=php_mbstring.dll" >> php.ini-min
64
- Copy php.ini-min php.ini-max
65
- "zend_extension=php_opcache.dll" >> php.ini-max
66
- "opcache.enable_cli=1" >> php.ini-max
67
- "extension=php_openssl.dll" >> php.ini-max
68
- "extension=php_apcu.dll" >> php.ini-max
69
- "extension=php_igbinary.dll" >> php.ini-max
70
- "extension=php_redis.dll" >> php.ini-max
71
- "apc.enable_cli=1" >> php.ini-max
72
- "extension=php_intl.dll" >> php.ini-max
73
- "extension=php_fileinfo.dll" >> php.ini-max
74
- "extension=php_pdo_sqlite.dll" >> php.ini-max
75
- "extension=php_curl.dll" >> php.ini-max
76
- "extension=php_sodium.dll" >> php.ini-max
77
- Copy php.ini-max php.ini
53
+ Copy php.ini-development php.ini
54
+ "memory_limit=-1" >> php.ini
55
+ "serialize_precision=-1" >> php.ini
56
+ "max_execution_time=1200" >> php.ini
57
+ "post_max_size=2047M" >> php.ini
58
+ "upload_max_filesize=2047M" >> php.ini
59
+ "date.timezone=`"America/Los_Angeles`"" >> php.ini
60
+ "extension_dir=ext" >> php.ini
61
+ "extension=php_xsl.dll" >> php.ini
62
+ "extension=php_mbstring.dll" >> php.ini
63
+ "extension=php_openssl.dll" >> php.ini
78
64
cd ${{ github.workspace }}
79
65
iwr -outf composer.phar https://getcomposer.org/download/latest-stable/composer.phar
80
66
@@ -100,32 +86,111 @@ jobs:
100
86
run : |
101
87
choco install --no-progress memurai-developer
102
88
103
- - name : Run tests (minimal extensions)
104
- if : always() && steps.setup.outcome == 'success'
89
+ - name : Run tests
105
90
run : |
106
91
$env:Path = 'c:\php;' + $env:Path
107
- $env:SYMFONY_PHPUNIT_SKIPPED_TESTS = 'phpunit.skipped'
108
92
$x = 0
109
93
110
- Copy c:\php\php.ini-min c:\php\php.ini
111
94
Remove-Item -Path src\Symfony\Bridge\PhpUnit -Recurse
112
95
mv src\Symfony\Component\HttpClient\phpunit.xml.dist src\Symfony\Component\HttpClient\phpunit.xml
113
- php phpunit src\Symfony --exclude-group tty, benchmark, intl-data, network, transient-on-windows || ($x = 1)
96
+ php phpunit src\Symfony --exclude-group tty --exclude-group benchmark --exclude-group intl-data --exclude-group network --exclude-group transient-on-windows || ($x = 1)
114
97
# HttpClient tests need to run separately, they block when run with other components' tests concurrently
115
98
php phpunit src\Symfony\Component\HttpClient || ($x = 1)
116
99
117
100
exit $x
118
101
102
+ windows-all-extensions :
103
+ name : x86 / all extensions / lowest-php
104
+
105
+ defaults :
106
+ run :
107
+ shell : pwsh
108
+
109
+ runs-on : windows-2022
110
+
111
+ env :
112
+ COMPOSER_NO_INTERACTION : ' 1'
113
+ ANSICON : ' 121x90 (121x90)'
114
+ SYMFONY_PHPUNIT_DISABLE_RESULT_CACHE : ' 1'
115
+
116
+ steps :
117
+ - name : Setup Git
118
+ run : |
119
+ git config --global core.autocrlf false
120
+ git config --global user.email ""
121
+ git config --global user.name "Symfony"
122
+
123
+ - name : Checkout
124
+ uses : actions/checkout@v4
125
+ with :
126
+ fetch-depth : 2
127
+
128
+ - name : Setup PHP
129
+ run : |
130
+ $env:Path = 'c:\php;' + $env:Path
131
+ mkdir c:\php && cd c:\php
132
+ iwr -outf php-8.2.0-Win32-vs16-x86.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php-8.2.0-Win32-vs16-x86.zip
133
+ 7z x php-8.2.0-Win32-vs16-x86.zip -y >nul
134
+ cd ext
135
+ iwr -outf php_apcu-5.1.22-8.2-ts-vs16-x86.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php_apcu-5.1.22-8.2-ts-vs16-x86.zip
136
+ 7z x php_apcu-5.1.22-8.2-ts-vs16-x86.zip -y >nul
137
+ iwr -outf php_redis-6.0.0-dev-8.2-ts-vs16-x86.zip https://github.com/symfony/binary-utils/releases/download/v0.1/php_redis-6.0.0-dev-8.2-ts-vs16-x86.zip
138
+ 7z x php_redis-6.0.0-dev-8.2-ts-vs16-x86.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
+
119
187
- name : Run tests
120
- if : always() && steps.setup.outcome == 'success'
121
188
run : |
122
189
$env:Path = 'c:\php;' + $env:Path
123
- $env:SYMFONY_PHPUNIT_SKIPPED_TESTS = 'phpunit.skipped'
124
190
$x = 0
125
191
126
- Copy c:\php\php.ini-max c:\php\php.ini
127
- 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)
128
193
# HttpClient tests need to run separately, they block when run with other components' tests concurrently
129
- 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)
130
195
131
196
exit $x
0 commit comments