setup-php 2.31.1 → 2.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +105 -100
- package/lib/config.js +17 -7
- package/lib/config.js.map +1 -1
- package/lib/coverage.js +17 -7
- package/lib/coverage.js.map +1 -1
- package/lib/extensions.js +31 -21
- package/lib/extensions.js.map +1 -1
- package/lib/fetch.js +17 -7
- package/lib/fetch.js.map +1 -1
- package/lib/install.js +17 -7
- package/lib/install.js.map +1 -1
- package/lib/packagist.js +17 -7
- package/lib/packagist.js.map +1 -1
- package/lib/tools.js +20 -7
- package/lib/tools.js.map +1 -1
- package/lib/utils.js +23 -10
- package/lib/utils.js.map +1 -1
- package/package.json +21 -18
- package/src/configs/mod_priority +1 -1
- package/src/configs/php-versions.json +4 -4
- package/src/configs/tools.json +7 -2
- package/src/extensions.ts +31 -31
- package/src/scripts/darwin.sh +10 -8
- package/src/scripts/extensions/add_extensions.ps1 +4 -0
- package/src/scripts/extensions/couchbase.sh +1 -1
- package/src/scripts/extensions/firebird.sh +1 -0
- package/src/scripts/extensions/intl.sh +6 -3
- package/src/scripts/extensions/oci.ps1 +10 -14
- package/src/scripts/extensions/oci.sh +14 -6
- package/src/scripts/extensions/patches/common.sh +2 -2
- package/src/scripts/extensions/phalcon.ps1 +2 -2
- package/src/scripts/extensions/phalcon.sh +1 -1
- package/src/scripts/extensions/relay.sh +9 -0
- package/src/scripts/extensions/source.sh +1 -1
- package/src/scripts/extensions/zephir_parser.ps1 +9 -2
- package/src/scripts/extensions/zephir_parser.sh +7 -3
- package/src/scripts/linux.sh +6 -5
- package/src/scripts/tools/add_tools.sh +0 -1
- package/src/scripts/tools/brew.sh +0 -1
- package/src/scripts/tools/grpc_php_plugin.ps1 +7 -1
- package/src/scripts/tools/ppa.sh +14 -11
- package/src/scripts/tools/protoc.sh +3 -1
- package/src/scripts/unix.sh +58 -1
- package/src/scripts/win32.ps1 +11 -2
- package/src/tools.ts +3 -0
- package/src/utils.ts +8 -3
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<a href="https://github.com/shivammathur/setup-php" title="GitHub action to setup PHP"><img alt="GitHub Actions status" src="https://github.com/shivammathur/setup-php/workflows/Main%20workflow/badge.svg"></a>
|
|
11
11
|
<a href="https://codecov.io/gh/shivammathur/setup-php" title="Code coverage"><img alt="Codecov Code Coverage" src="https://img.shields.io/codecov/c/github/shivammathur/setup-php?logo=codecov"></a>
|
|
12
12
|
<a href="https://github.com/shivammathur/setup-php/blob/main/LICENSE" title="license"><img alt="LICENSE" src="https://img.shields.io/badge/license-MIT-428f7e.svg?logo=open%20source%20initiative&logoColor=white&labelColor=555555"></a>
|
|
13
|
-
<a href="#tada-php-support" title="PHP Versions Supported"><img alt="PHP Versions Supported" src="https://img.shields.io/badge/php-5.3%20to%208.
|
|
13
|
+
<a href="#tada-php-support" title="PHP Versions Supported"><img alt="PHP Versions Supported" src="https://img.shields.io/badge/php-5.3%20to%208.5-777bb3.svg?logo=php&logoColor=white&labelColor=555555"></a>
|
|
14
14
|
</p>
|
|
15
15
|
<p align="center">
|
|
16
16
|
<a href="https://reddit.com/r/setup_php" title="setup-php reddit"><img alt="setup-php reddit" src="https://img.shields.io/badge/reddit-join-FF5700?logo=reddit&logoColor=FF5700&labelColor=555555"></a>
|
|
@@ -68,16 +68,18 @@ Both `GitHub-hosted` and `self-hosted` runners are supported by `setup-php` on t
|
|
|
68
68
|
|
|
69
69
|
### GitHub-Hosted Runners
|
|
70
70
|
|
|
71
|
-
| Virtual environment | YAML workflow label | Pre-installed PHP |
|
|
72
|
-
|
|
73
|
-
| Ubuntu 24.04 | `ubuntu-24.04`
|
|
74
|
-
| Ubuntu 22.04 |
|
|
75
|
-
| Ubuntu
|
|
76
|
-
|
|
|
77
|
-
| Windows Server
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
| macOS
|
|
71
|
+
| Virtual environment | Arch | YAML workflow label | Pre-installed PHP |
|
|
72
|
+
|---------------------|---------|------------------------------------|------------------------|
|
|
73
|
+
| Ubuntu 24.04 | x86_64 | `ubuntu-latest` or `ubuntu-24.04` | `PHP 8.3` |
|
|
74
|
+
| Ubuntu 22.04 | x86_64 | `ubuntu-22.04` | `PHP 8.1` |
|
|
75
|
+
| Ubuntu 24.04 | aarch64 | `ubuntu-24.04-arm` | `PHP 8.3` |
|
|
76
|
+
| Ubuntu 22.04 | aarch64 | `ubuntu-22.04-arm` | `PHP 8.1` |
|
|
77
|
+
| Windows Server 2025 | x64 | `windows-2025` | `PHP 8.3` |
|
|
78
|
+
| Windows Server 2022 | x64 | `windows-latest` or `windows-2022` | `PHP 8.3` |
|
|
79
|
+
| Windows Server 2019 | x64 | `windows-2019` | `PHP 8.3` |
|
|
80
|
+
| macOS Sequoia 15.x | arm64 | `macos-15` | - |
|
|
81
|
+
| macOS Sonoma 14.x | arm64 | `macos-latest` or `macos-14` | - |
|
|
82
|
+
| macOS Ventura 13.x | x86_64 | `macos-13` | `PHP 8.3` |
|
|
81
83
|
|
|
82
84
|
### Self-Hosted Runners
|
|
83
85
|
|
|
@@ -85,14 +87,13 @@ Both `GitHub-hosted` and `self-hosted` runners are supported by `setup-php` on t
|
|
|
85
87
|
|----------------------------------|----------------------------|
|
|
86
88
|
| Ubuntu 24.04 | `self-hosted` or `Linux` |
|
|
87
89
|
| Ubuntu 22.04 | `self-hosted` or `Linux` |
|
|
88
|
-
|
|
|
90
|
+
| Debian 12 | `self-hosted` or `Linux` |
|
|
89
91
|
| Debian 11 | `self-hosted` or `Linux` |
|
|
90
|
-
| Debian 10 | `self-hosted` or `Linux` |
|
|
91
92
|
| Windows 7 and newer | `self-hosted` or `Windows` |
|
|
92
93
|
| Windows Server 2012 R2 and newer | `self-hosted` or `Windows` |
|
|
94
|
+
| macOS Sequoia 15.x x86_64/arm64 | `self-hosted` or `macOS` |
|
|
93
95
|
| macOS Sonoma 14.x x86_64/arm64 | `self-hosted` or `macOS` |
|
|
94
96
|
| macOS Ventura 13.x x86_64/arm64 | `self-hosted` or `macOS` |
|
|
95
|
-
| macOS Monterey 12.x x86_64/arm64 | `self-hosted` or `macOS` |
|
|
96
97
|
|
|
97
98
|
- Refer to the [self-hosted setup](#self-hosted-setup) to use the action on self-hosted runners.
|
|
98
99
|
- Operating systems based on the above Ubuntu and Debian versions are also supported on best effort basis.
|
|
@@ -102,9 +103,9 @@ Both `GitHub-hosted` and `self-hosted` runners are supported by `setup-php` on t
|
|
|
102
103
|
|
|
103
104
|
On all supported OS/Platforms the following PHP versions can be set up as per the runner.
|
|
104
105
|
|
|
105
|
-
- PHP 5.3 to PHP 8.
|
|
106
|
-
- PHP 5.6 to PHP 8.
|
|
107
|
-
- PHP 5.6 to PHP 8.
|
|
106
|
+
- PHP 5.3 to PHP 8.5 on GitHub-hosted runners, except for macOS ARM64 runners (macos-14).
|
|
107
|
+
- PHP 5.6 to PHP 8.5 on GitHub-hosted macOS ARM64 runners (macos-14).
|
|
108
|
+
- PHP 5.6 to PHP 8.5 on self-hosted runners.
|
|
108
109
|
|
|
109
110
|
| PHP Version | Stability | Release Support | Runner Support |
|
|
110
111
|
|-------------|-----------|-----------------------|--------------------------------|
|
|
@@ -119,13 +120,15 @@ On all supported OS/Platforms the following PHP versions can be set up as per th
|
|
|
119
120
|
| `7.4` | `Stable` | `End of life` | `GitHub-hosted`, `self-hosted` |
|
|
120
121
|
| `8.0` | `Stable` | `End of life` | `GitHub-hosted`, `self-hosted` |
|
|
121
122
|
| `8.1` | `Stable` | `Security fixes only` | `GitHub-hosted`, `self-hosted` |
|
|
122
|
-
| `8.2` | `Stable` | `
|
|
123
|
+
| `8.2` | `Stable` | `Security fixes only` | `GitHub-hosted`, `self-hosted` |
|
|
123
124
|
| `8.3` | `Stable` | `Active` | `GitHub-hosted`, `self-hosted` |
|
|
124
|
-
| `8.4` | `
|
|
125
|
+
| `8.4` | `Stable` | `Active` | `GitHub-hosted`, `self-hosted` |
|
|
126
|
+
| `8.5` | `Nightly` | `In development` | `GitHub-hosted`, `self-hosted` |
|
|
125
127
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
-
|
|
128
|
+
|
|
129
|
+
> [!Note]
|
|
130
|
+
> - Specifying `8.5` in `php-version` input installs a nightly build of `PHP 8.5.0-dev`. See [nightly build setup](#nightly-build-setup) for more information.
|
|
131
|
+
> - To use JIT on `PHP 8.0` and above, refer to the [JIT configuration](#jit-configuration) section.
|
|
129
132
|
|
|
130
133
|
## :heavy_plus_sign: PHP Extension Support
|
|
131
134
|
|
|
@@ -137,7 +140,7 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
|
|
|
137
140
|
- name: Setup PHP with PECL extension
|
|
138
141
|
uses: shivammathur/setup-php@v2
|
|
139
142
|
with:
|
|
140
|
-
php-version: '8.
|
|
143
|
+
php-version: '8.4'
|
|
141
144
|
extensions: imagick, swoole
|
|
142
145
|
```
|
|
143
146
|
|
|
@@ -165,7 +168,7 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
|
|
|
165
168
|
- name: Setup PHP with pre-release PECL extension
|
|
166
169
|
uses: shivammathur/setup-php@v2
|
|
167
170
|
with:
|
|
168
|
-
php-version: '8.
|
|
171
|
+
php-version: '8.4'
|
|
169
172
|
extensions: xdebug-beta
|
|
170
173
|
```
|
|
171
174
|
|
|
@@ -177,19 +180,19 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
|
|
|
177
180
|
- name: Setup PHP and disable opcache
|
|
178
181
|
uses: shivammathur/setup-php@v2
|
|
179
182
|
with:
|
|
180
|
-
php-version: '8.
|
|
183
|
+
php-version: '8.4'
|
|
181
184
|
extensions: :opcache
|
|
182
185
|
```
|
|
183
186
|
|
|
184
187
|
- All shared extensions can be disabled by specifying `none`. When `none` is specified along with other extensions, it is hoisted to the start of the input. So, all the shared extensions will be disabled first, then rest of the extensions in the input will be processed.
|
|
185
188
|
|
|
186
|
-
|
|
189
|
+
This disables all core and third-party shared extensions and thus, can break some tools which need them. Required extensions are enabled again when the tools are set up on a best-effort basis. So it is recommended to add the extensions required for your tools after `none` in the `extensions` input to avoid any issues.
|
|
187
190
|
|
|
188
191
|
```yaml
|
|
189
192
|
- name: Setup PHP without any shared extensions except mbstring
|
|
190
193
|
uses: shivammathur/setup-php@v2
|
|
191
194
|
with:
|
|
192
|
-
php-version: '8.
|
|
195
|
+
php-version: '8.4'
|
|
193
196
|
extensions: none, mbstring
|
|
194
197
|
```
|
|
195
198
|
|
|
@@ -199,7 +202,7 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
|
|
|
199
202
|
- name: Setup PHP with intl
|
|
200
203
|
uses: shivammathur/setup-php@v2
|
|
201
204
|
with:
|
|
202
|
-
php-version: '8.
|
|
205
|
+
php-version: '8.4'
|
|
203
206
|
extensions: intl-70.1
|
|
204
207
|
```
|
|
205
208
|
|
|
@@ -216,7 +219,7 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
|
|
|
216
219
|
- name: Setup PHP with fail-fast
|
|
217
220
|
uses: shivammathur/setup-php@v2
|
|
218
221
|
with:
|
|
219
|
-
php-version: '8.
|
|
222
|
+
php-version: '8.4'
|
|
220
223
|
extensions: oci8
|
|
221
224
|
env:
|
|
222
225
|
fail-fast: true
|
|
@@ -226,13 +229,13 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
|
|
|
226
229
|
|
|
227
230
|
These tools can be set up globally using the `tools` input. It accepts a string in csv-format.
|
|
228
231
|
|
|
229
|
-
[`behat`], [`blackfire`], [`blackfire-player`], [`box`], [`castor`], [`churn`], [`codeception`], [`composer`], [`composer-normalize`], [`composer-prefetcher`], [`composer-require-checker`], [`composer-unused`], [`cs2pr`], [`deployer`], [`ecs`], [`flex`], [`grpc_php_plugin`], [`infection`], [`parallel-lint`], [`pecl`], [`phan`], [`phing`], [`phinx`], [`phive`], [`php-config`], [`php-cs-fixer`], [`php-scoper`], [`phpcbf`], [`phpcpd`], [`phpcs`], [`phpdoc`] or [`phpDocumentor`], [`phpize`], [`phplint`], [`phpmd`], [`phpspec`], [`phpstan`], [`phpunit`], [`phpunit-bridge`], [`phpunit-polyfills`], [`pint`], [`prestissimo`], [`protoc`], [`psalm`], [`rector`], [`symfony`] or [`symfony-cli`], [`vapor`] or [`vapor-cli`], [`wp`] or [`wp-cli`]
|
|
232
|
+
[`behat`], [`blackfire`], [`blackfire-player`], [`box`], [`castor`], [`churn`], [`codeception`], [`composer`], [`composer-dependency-analyser`], [`composer-normalize`], [`composer-prefetcher`], [`composer-require-checker`], [`composer-unused`], [`cs2pr`], [`deployer`], [`ecs`], [`flex`], [`grpc_php_plugin`], [`infection`], [`parallel-lint`], [`pecl`], [`phan`], [`phing`], [`phinx`], [`phive`], [`php-config`], [`php-cs-fixer`], [`php-scoper`], [`phpcbf`], [`phpcpd`], [`phpcs`], [`phpdoc`] or [`phpDocumentor`], [`phpize`], [`phplint`], [`phpmd`], [`phpspec`], [`phpstan`], [`phpunit`], [`phpunit-bridge`], [`phpunit-polyfills`], [`pint`], [`prestissimo`], [`protoc`], [`psalm`], [`rector`], [`symfony`] or [`symfony-cli`], [`vapor`] or [`vapor-cli`], [`wp`] or [`wp-cli`]
|
|
230
233
|
|
|
231
234
|
```yaml
|
|
232
235
|
- name: Setup PHP with tools
|
|
233
236
|
uses: shivammathur/setup-php@v2
|
|
234
237
|
with:
|
|
235
|
-
php-version: '8.
|
|
238
|
+
php-version: '8.4'
|
|
236
239
|
tools: php-cs-fixer, phpunit
|
|
237
240
|
```
|
|
238
241
|
|
|
@@ -242,18 +245,18 @@ These tools can be set up globally using the `tools` input. It accepts a string
|
|
|
242
245
|
- name: Setup PHP with tools
|
|
243
246
|
uses: shivammathur/setup-php@v2
|
|
244
247
|
with:
|
|
245
|
-
php-version: '8.
|
|
248
|
+
php-version: '8.4'
|
|
246
249
|
tools: vimeo/psalm
|
|
247
250
|
```
|
|
248
251
|
|
|
249
252
|
- To set up a particular version of a tool, specify it in the form `tool:version`.
|
|
250
|
-
|
|
253
|
+
|
|
251
254
|
Version can be in the following format:
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
When you specify just the major version or the version in `major.minor` format, the latest patch version matching the input will be setup.
|
|
255
|
+
- Semver. For example `tool:1.2.3` or `tool:1.2.3-beta1`.
|
|
256
|
+
- Major version. For example `tool:1` or `tool:1.x`.
|
|
257
|
+
- Major and minor version. For example `tool:1.2` or `tool:1.2.x`.
|
|
258
|
+
|
|
259
|
+
When you specify just the major version or the version in `major.minor` format, the latest patch version matching the input will be setup.
|
|
257
260
|
|
|
258
261
|
With the exception of major versions of `composer`, if you specify only the `major` version or the version in `major.minor` format for a tool you can get rate limited by GitHub's API. To avoid this, it is recommended to provide a [`GitHub` OAuth token](https://github.com/shivammathur/setup-php#composer-github-oauth "Composer GitHub OAuth").
|
|
259
262
|
You can do that by setting `GITHUB_TOKEN` environment variable. The `COMPOSER_TOKEN` environment variable has been deprecated in favor of `GITHUB_TOKEN` and will be removed in the next major version.
|
|
@@ -262,8 +265,8 @@ These tools can be set up globally using the `tools` input. It accepts a string
|
|
|
262
265
|
- name: Setup PHP with tools
|
|
263
266
|
uses: shivammathur/setup-php@v2
|
|
264
267
|
with:
|
|
265
|
-
php-version: '8.
|
|
266
|
-
tools: php-cs-fixer:3.
|
|
268
|
+
php-version: '8.4'
|
|
269
|
+
tools: php-cs-fixer:3.64, phpunit:11.4
|
|
267
270
|
env:
|
|
268
271
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
269
272
|
```
|
|
@@ -274,7 +277,7 @@ These tools can be set up globally using the `tools` input. It accepts a string
|
|
|
274
277
|
- name: Setup PHP with composer v2
|
|
275
278
|
uses: shivammathur/setup-php@v2
|
|
276
279
|
with:
|
|
277
|
-
php-version: '8.
|
|
280
|
+
php-version: '8.4'
|
|
278
281
|
tools: composer:v2
|
|
279
282
|
```
|
|
280
283
|
|
|
@@ -284,7 +287,7 @@ These tools can be set up globally using the `tools` input. It accepts a string
|
|
|
284
287
|
- name: Setup PHP without composer
|
|
285
288
|
uses: shivammathur/setup-php@v2
|
|
286
289
|
with:
|
|
287
|
-
php-version: '8.
|
|
290
|
+
php-version: '8.4'
|
|
288
291
|
tools: none
|
|
289
292
|
```
|
|
290
293
|
|
|
@@ -300,24 +303,24 @@ These tools can be set up globally using the `tools` input. It accepts a string
|
|
|
300
303
|
- name: Setup PHP with fail-fast
|
|
301
304
|
uses: shivammathur/setup-php@v2
|
|
302
305
|
with:
|
|
303
|
-
php-version: '8.
|
|
306
|
+
php-version: '8.4'
|
|
304
307
|
tools: deployer
|
|
305
308
|
env:
|
|
306
309
|
fail-fast: true
|
|
307
310
|
```
|
|
308
311
|
|
|
309
|
-
|
|
310
|
-
- Input `tools` is useful to set up tools which are only used in CI workflows, thus keeping your `composer.json` tidy.
|
|
311
|
-
- If you do not want to use all your dev-dependencies in workflow, you can run composer with `--no-dev` and install required tools using `tools` input to speed up your workflow.
|
|
312
|
-
- By default, `COMPOSER_NO_INTERACTION` is set to `1` and `COMPOSER_PROCESS_TIMEOUT` is set to `0`. In effect, this means that Composer commands in your scripts do not need to specify `--no-interaction`.
|
|
313
|
-
- Also, `COMPOSER_NO_AUDIT` is set to `1`. So if you want to audit your dependencies for security vulnerabilities, it is recommended to add a `composer audit` step before you install them.
|
|
314
|
-
- If you want to set a different `COMPOSER_PROCESS_TIMEOUT`, you can set it in your workflow file using the `env` keyword.
|
|
312
|
+
> [!NOTE]
|
|
313
|
+
> - Input `tools` is useful to set up tools which are only used in CI workflows, thus keeping your `composer.json` tidy.
|
|
314
|
+
> - If you do not want to use all your dev-dependencies in workflow, you can run composer with `--no-dev` and install required tools using `tools` input to speed up your workflow.
|
|
315
|
+
> - By default, `COMPOSER_NO_INTERACTION` is set to `1` and `COMPOSER_PROCESS_TIMEOUT` is set to `0`. In effect, this means that Composer commands in your scripts do not need to specify `--no-interaction`.
|
|
316
|
+
> - Also, `COMPOSER_NO_AUDIT` is set to `1`. So if you want to audit your dependencies for security vulnerabilities, it is recommended to add a `composer audit` step before you install them.
|
|
317
|
+
> - If you want to set a different `COMPOSER_PROCESS_TIMEOUT`, you can set it in your workflow file using the `env` keyword.
|
|
315
318
|
|
|
316
319
|
```yaml
|
|
317
320
|
- name: Setup PHP with composer and custom process timeout
|
|
318
321
|
uses: shivammathur/setup-php@v2
|
|
319
322
|
with:
|
|
320
|
-
php-version: '8.
|
|
323
|
+
php-version: '8.4'
|
|
321
324
|
env:
|
|
322
325
|
COMPOSER_PROCESS_TIMEOUT: 300
|
|
323
326
|
```
|
|
@@ -333,7 +336,7 @@ Runs on all [PHP versions supported](#tada-php-support "List of PHP versions sup
|
|
|
333
336
|
- name: Setup PHP with Xdebug
|
|
334
337
|
uses: shivammathur/setup-php@v2
|
|
335
338
|
with:
|
|
336
|
-
php-version: '8.
|
|
339
|
+
php-version: '8.4'
|
|
337
340
|
coverage: xdebug
|
|
338
341
|
```
|
|
339
342
|
|
|
@@ -348,25 +351,26 @@ Runs on all [PHP versions supported](#tada-php-support "List of PHP versions sup
|
|
|
348
351
|
coverage: xdebug2
|
|
349
352
|
```
|
|
350
353
|
|
|
351
|
-
|
|
354
|
+
> [!NOTE]
|
|
355
|
+
> Xdebug is enabled by default on Ubuntu GitHub Actions images, so if you are not using it in your workflow it is recommended to disable it as that will have a positive impact on your PHP performance. Please refer to the [disable coverage](#disable-coverage) section for details.
|
|
352
356
|
|
|
353
357
|
### PCOV
|
|
354
358
|
|
|
355
359
|
Specify `coverage: pcov` to use `PCOV` and disable `Xdebug`.
|
|
356
360
|
Runs on PHP 7.1 and newer PHP versions.
|
|
357
361
|
|
|
358
|
-
- If your source code directory is other than `src`, `lib` or, `app`, specify `pcov.directory` using the `ini-values` input.
|
|
362
|
+
- If your source code directory is other than `src`, `lib` or, `app`, specify `pcov.directory` using the `ini-values` input.
|
|
359
363
|
|
|
360
364
|
```yaml
|
|
361
365
|
- name: Setup PHP with PCOV
|
|
362
366
|
uses: shivammathur/setup-php@v2
|
|
363
367
|
with:
|
|
364
|
-
php-version: '8.
|
|
368
|
+
php-version: '8.4'
|
|
365
369
|
ini-values: pcov.directory=api #optional, see above for usage.
|
|
366
370
|
coverage: pcov
|
|
367
371
|
```
|
|
368
372
|
|
|
369
|
-
- PHPUnit 8.x and above supports PCOV out of the box.
|
|
373
|
+
- PHPUnit 8.x and above supports PCOV out of the box.
|
|
370
374
|
- If you are using PHPUnit 5.x, 6.x or 7.x, you need to set up `pcov/clobber` before executing your tests.
|
|
371
375
|
|
|
372
376
|
```yaml
|
|
@@ -391,7 +395,7 @@ Disable coverage for these reasons:
|
|
|
391
395
|
- name: Setup PHP with no coverage driver
|
|
392
396
|
uses: shivammathur/setup-php@v2
|
|
393
397
|
with:
|
|
394
|
-
php-version: '8.
|
|
398
|
+
php-version: '8.4'
|
|
395
399
|
coverage: none
|
|
396
400
|
```
|
|
397
401
|
|
|
@@ -404,16 +408,18 @@ Disable coverage for these reasons:
|
|
|
404
408
|
#### `php-version` (optional)
|
|
405
409
|
|
|
406
410
|
- Specify the PHP version you want to set up.
|
|
407
|
-
- Accepts a `string`. For example `'8.
|
|
411
|
+
- Accepts a `string`. For example `'8.4'`.
|
|
408
412
|
- Accepts `lowest` to set up the lowest supported PHP version.
|
|
409
413
|
- Accepts `highest` or `latest` to set up the latest stable PHP version.
|
|
410
414
|
- Accepts `nightly` to set up a nightly build from the master branch of PHP.
|
|
411
|
-
- Accepts
|
|
415
|
+
- Accepts `pre-installed` to set up the highest pre-installed PHP version. You can combine this with `update: true` to update the pre-installed PHP version.
|
|
416
|
+
- Accepts the format `d.x`, where `d` is the major version. For example `5.x`, `7.x` and `8.x`.
|
|
412
417
|
- See [PHP support](#tada-php-support) for the supported PHP versions.
|
|
413
418
|
- If not specified, it looks for the following in order:
|
|
414
419
|
- The `php-version-file` input if it exists
|
|
415
420
|
- A `composer.lock` file and the `platform-overrides.php` value
|
|
416
421
|
- A `composer.json` file and the `config.platform.php` value
|
|
422
|
+
- If the `composer.lock` or `composer.json` file is in a sub-directory in your repository, please specify the subdirectory path in `COMPOSER_PROJECT_DIR` env.
|
|
417
423
|
|
|
418
424
|
#### `php-version-file` (optional)
|
|
419
425
|
|
|
@@ -421,6 +427,7 @@ Disable coverage for these reasons:
|
|
|
421
427
|
- Accepts a `string`. For example `'.phpenv-version'`.
|
|
422
428
|
- See [PHP support](#tada-php-support) for the supported PHP versions.
|
|
423
429
|
- By default, `.php-version` file is used.
|
|
430
|
+
- The file either have the PHP version as its content, or follow the asdf `.tool-versions` format.
|
|
424
431
|
- If not specified and the default `.php-version` file is not found, the latest stable PHP version is set up.
|
|
425
432
|
|
|
426
433
|
#### `extensions` (optional)
|
|
@@ -439,9 +446,9 @@ Disable coverage for these reasons:
|
|
|
439
446
|
|
|
440
447
|
#### `ini-values` (optional)
|
|
441
448
|
|
|
442
|
-
- Specify the values you want to add to `php.ini`.
|
|
449
|
+
- Specify the values you want to add to `php.ini`.
|
|
443
450
|
- Accepts a `string` in csv-format. For example `post_max_size=256M, max_execution_time=180`.
|
|
444
|
-
- Accepts ini values with commas if wrapped in quotes. For example `xdebug.mode="develop,coverage"`.
|
|
451
|
+
- Accepts ini values with commas if wrapped in quotes. For example `xdebug.mode="develop,coverage"`.
|
|
445
452
|
|
|
446
453
|
#### `coverage` (optional)
|
|
447
454
|
|
|
@@ -468,7 +475,7 @@ On GitHub Actions you can assign the `setup-php` step an `id`, you can use the s
|
|
|
468
475
|
id: setup-php
|
|
469
476
|
uses: shivammathur/setup-php@v2
|
|
470
477
|
with:
|
|
471
|
-
php-version: '8.
|
|
478
|
+
php-version: '8.4'
|
|
472
479
|
|
|
473
480
|
- name: Print PHP version
|
|
474
481
|
run: echo ${{ steps.setup-php.outputs.php-version }}
|
|
@@ -510,7 +517,7 @@ steps:
|
|
|
510
517
|
- name: Setup PHP
|
|
511
518
|
uses: shivammathur/setup-php@v2
|
|
512
519
|
with:
|
|
513
|
-
php-version: '8.
|
|
520
|
+
php-version: '8.4'
|
|
514
521
|
extensions: mbstring, intl
|
|
515
522
|
ini-values: post_max_size=256M, max_execution_time=180
|
|
516
523
|
coverage: xdebug
|
|
@@ -528,12 +535,12 @@ jobs:
|
|
|
528
535
|
strategy:
|
|
529
536
|
matrix:
|
|
530
537
|
operating-system: ['ubuntu-latest', 'windows-latest', 'macos-latest']
|
|
531
|
-
php-versions: ['8.
|
|
538
|
+
php-versions: ['8.2', '8.3', '8.4']
|
|
532
539
|
phpunit-versions: ['latest']
|
|
533
540
|
include:
|
|
534
541
|
- operating-system: 'ubuntu-latest'
|
|
535
|
-
php-versions: '8.
|
|
536
|
-
phpunit-versions:
|
|
542
|
+
php-versions: '8.1'
|
|
543
|
+
phpunit-versions: 10
|
|
537
544
|
steps:
|
|
538
545
|
- name: Setup PHP
|
|
539
546
|
uses: shivammathur/setup-php@v2
|
|
@@ -549,7 +556,7 @@ jobs:
|
|
|
549
556
|
|
|
550
557
|
### Nightly Build Setup
|
|
551
558
|
|
|
552
|
-
> Set up a nightly build of `PHP 8.
|
|
559
|
+
> Set up a nightly build of `PHP 8.5`.
|
|
553
560
|
|
|
554
561
|
- These PHP versions are currently in active development and might contain bugs and breaking changes.
|
|
555
562
|
- Some user space extensions might not support this version currently.
|
|
@@ -559,7 +566,7 @@ steps:
|
|
|
559
566
|
- name: Setup nightly PHP
|
|
560
567
|
uses: shivammathur/setup-php@v2
|
|
561
568
|
with:
|
|
562
|
-
php-version: '8.
|
|
569
|
+
php-version: '8.5'
|
|
563
570
|
extensions: mbstring
|
|
564
571
|
ini-values: post_max_size=256M, max_execution_time=180
|
|
565
572
|
coverage: xdebug
|
|
@@ -573,17 +580,17 @@ steps:
|
|
|
573
580
|
- Production release builds of PHP without debugging symbols are set up by default.
|
|
574
581
|
- You can use the `debug` environment variable to set up a build with debugging symbols for PHP 5.6 and above.
|
|
575
582
|
|
|
576
|
-
|
|
577
|
-
- On Linux, the debug symbols are added as [debug info files](https://sourceware.org/gdb/current/onlinedocs/gdb.html/Separate-Debug-Files.html) in the `/usr/lib/debug/.build-id` directory. These files match the `build-id` in the ELF section of the PHP binaries and debugging tools like `gdb` are able to resolve the symbols from these files.
|
|
578
|
-
- On Windows, the debug symbols are added as `pdb` files in the PHP installation directory.
|
|
579
|
-
- On macOS, the debug symbols are compiled into the binaries.
|
|
583
|
+
> [!NOTE]
|
|
584
|
+
> - On Linux, the debug symbols are added as [debug info files](https://sourceware.org/gdb/current/onlinedocs/gdb.html/Separate-Debug-Files.html) in the `/usr/lib/debug/.build-id` directory. These files match the `build-id` in the ELF section of the PHP binaries and debugging tools like `gdb` are able to resolve the symbols from these files.
|
|
585
|
+
> - On Windows, the debug symbols are added as `pdb` files in the PHP installation directory.
|
|
586
|
+
> - On macOS, the debug symbols are compiled into the binaries.
|
|
580
587
|
|
|
581
588
|
```yaml
|
|
582
589
|
steps:
|
|
583
590
|
- name: Setup PHP with debugging symbols
|
|
584
591
|
uses: shivammathur/setup-php@v2
|
|
585
592
|
with:
|
|
586
|
-
php-version: '8.
|
|
593
|
+
php-version: '8.4'
|
|
587
594
|
env:
|
|
588
595
|
debug: true # specify true or false
|
|
589
596
|
```
|
|
@@ -603,7 +610,7 @@ jobs:
|
|
|
603
610
|
- name: Setup PHP
|
|
604
611
|
uses: shivammathur/setup-php@v2
|
|
605
612
|
with:
|
|
606
|
-
php-version: '8.
|
|
613
|
+
php-version: '8.4'
|
|
607
614
|
env:
|
|
608
615
|
phpts: ts # specify ts or nts
|
|
609
616
|
```
|
|
@@ -620,7 +627,7 @@ jobs:
|
|
|
620
627
|
- name: Setup PHP with latest versions
|
|
621
628
|
uses: shivammathur/setup-php@v2
|
|
622
629
|
with:
|
|
623
|
-
php-version: '8.
|
|
630
|
+
php-version: '8.4'
|
|
624
631
|
env:
|
|
625
632
|
update: true # specify true or false
|
|
626
633
|
```
|
|
@@ -635,14 +642,14 @@ To debug any issues, you can use the `verbose` tag instead of `v2`.
|
|
|
635
642
|
- name: Setup PHP with logs
|
|
636
643
|
uses: shivammathur/setup-php@verbose
|
|
637
644
|
with:
|
|
638
|
-
php-version: '8.
|
|
645
|
+
php-version: '8.4'
|
|
639
646
|
```
|
|
640
647
|
|
|
641
648
|
### Multi-Arch Setup
|
|
642
649
|
|
|
643
650
|
> Set up PHP on multiple architecture on Ubuntu GitHub Runners.
|
|
644
651
|
|
|
645
|
-
- `PHP 5.6` to `PHP 8.
|
|
652
|
+
- `PHP 5.6` to `PHP 8.4` are supported by `setup-php` on multiple architecture on `Ubuntu`.
|
|
646
653
|
- For this, you can use `shivammathur/node` images as containers. These have compatible `Nodejs` installed for `setup-php`.
|
|
647
654
|
- Currently, for `ARM` based setup, you will need [self-hosted runners](#self-hosted-setup).
|
|
648
655
|
|
|
@@ -658,7 +665,7 @@ jobs:
|
|
|
658
665
|
- name: Install PHP
|
|
659
666
|
uses: shivammathur/setup-php@v2
|
|
660
667
|
with:
|
|
661
|
-
php-version: '8.
|
|
668
|
+
php-version: '8.4'
|
|
662
669
|
```
|
|
663
670
|
|
|
664
671
|
### Self Hosted Setup
|
|
@@ -680,7 +687,7 @@ jobs:
|
|
|
680
687
|
runs-on: self-hosted
|
|
681
688
|
strategy:
|
|
682
689
|
matrix:
|
|
683
|
-
php-versions: ['5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3']
|
|
690
|
+
php-versions: ['5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4']
|
|
684
691
|
name: PHP ${{ matrix.php-versions }}
|
|
685
692
|
steps:
|
|
686
693
|
- name: Setup PHP
|
|
@@ -691,10 +698,10 @@ jobs:
|
|
|
691
698
|
runner: self-hosted
|
|
692
699
|
```
|
|
693
700
|
|
|
694
|
-
|
|
695
|
-
- Do not set up multiple self-hosted runners on a single server instance as parallel workflow will conflict with each other.
|
|
696
|
-
- Do not set up self-hosted runners on the side on your development environment or your production server.
|
|
697
|
-
- Avoid using the same labels for your `self-hosted` runners which are used by `GitHub-hosted` runners.
|
|
701
|
+
> [!NOTE]
|
|
702
|
+
> - Do not set up multiple self-hosted runners on a single server instance as parallel workflow will conflict with each other.
|
|
703
|
+
> - Do not set up self-hosted runners on the side on your development environment or your production server.
|
|
704
|
+
> - Avoid using the same labels for your `self-hosted` runners which are used by `GitHub-hosted` runners.
|
|
698
705
|
|
|
699
706
|
### Local Testing Setup
|
|
700
707
|
|
|
@@ -708,12 +715,12 @@ jobs:
|
|
|
708
715
|
- name: Setup PHP
|
|
709
716
|
uses: shivammathur/setup-php@v2
|
|
710
717
|
with:
|
|
711
|
-
php-version: '8.
|
|
718
|
+
php-version: '8.4'
|
|
712
719
|
```
|
|
713
720
|
|
|
714
721
|
Run the workflow locally with `act` using [`shivammathur/node`](https://github.com/shivammathur/node-docker "Docker image to run setup-php") docker images.
|
|
715
722
|
|
|
716
|
-
Choose the image tag which matches the `runs-on` property in your workflow. For example, if you are using `ubuntu-
|
|
723
|
+
Choose the image tag which matches the `runs-on` property in your workflow. For example, if you are using `ubuntu-22.04` in your workflow, run `act -P ubuntu-22.04=shivammathur/node:2204`.
|
|
717
724
|
|
|
718
725
|
```bash
|
|
719
726
|
# For runs-on: ubuntu-latest
|
|
@@ -724,9 +731,6 @@ act -P ubuntu-24.04=shivammathur/node:2404
|
|
|
724
731
|
|
|
725
732
|
# For runs-on: ubuntu-22.04
|
|
726
733
|
act -P ubuntu-22.04=shivammathur/node:2204
|
|
727
|
-
|
|
728
|
-
# For runs-on: ubuntu-20.04
|
|
729
|
-
act -P ubuntu-20.04=shivammathur/node:2004
|
|
730
734
|
```
|
|
731
735
|
|
|
732
736
|
### JIT Configuration
|
|
@@ -738,13 +742,13 @@ act -P ubuntu-20.04=shivammathur/node:2004
|
|
|
738
742
|
- By default, `opcache.jit=1235` and `opcache.jit_buffer_size=256M` are set which can be changed using `ini-values` input.
|
|
739
743
|
- For detailed information about JIT related directives refer to the [`official PHP documentation`](https://www.php.net/manual/en/opcache.configuration.php#ini.opcache.jit "opcache.jit documentation").
|
|
740
744
|
|
|
741
|
-
For example to enable JIT in `tracing` mode with buffer size of `64 MB`.
|
|
745
|
+
For example to enable JIT in `tracing` mode with buffer size of `64 MB`.
|
|
742
746
|
|
|
743
747
|
```yaml
|
|
744
748
|
- name: Setup PHP with JIT in tracing mode
|
|
745
749
|
uses: shivammathur/setup-php@v2
|
|
746
750
|
with:
|
|
747
|
-
php-version: '8.
|
|
751
|
+
php-version: '8.4'
|
|
748
752
|
coverage: none
|
|
749
753
|
ini-values: opcache.enable_cli=1, opcache.jit=tracing, opcache.jit_buffer_size=64M
|
|
750
754
|
```
|
|
@@ -774,9 +778,9 @@ If your project uses composer, you can persist the composer's internal cache dir
|
|
|
774
778
|
run: composer install --prefer-dist
|
|
775
779
|
```
|
|
776
780
|
|
|
777
|
-
|
|
778
|
-
- Please do not cache `vendor` directory using `action/cache` as that will have side effects.
|
|
779
|
-
- If you do not commit `composer.lock`, you can use the hash of `composer.json` as the key for your cache.
|
|
781
|
+
> [!NOTE]
|
|
782
|
+
> - Please do not cache `vendor` directory using `action/cache` as that will have side effects.
|
|
783
|
+
> - If you do not commit `composer.lock`, you can use the hash of `composer.json` as the key for your cache.
|
|
780
784
|
```yaml
|
|
781
785
|
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
|
|
782
786
|
```
|
|
@@ -797,7 +801,7 @@ The `COMPOSER_TOKEN` environment variable has been deprecated in favor of `GITHU
|
|
|
797
801
|
- name: Setup PHP
|
|
798
802
|
uses: shivammathur/setup-php@v2
|
|
799
803
|
with:
|
|
800
|
-
php-version: '8.
|
|
804
|
+
php-version: '8.4'
|
|
801
805
|
env:
|
|
802
806
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
803
807
|
```
|
|
@@ -810,7 +814,7 @@ If you use Private Packagist for your private composer dependencies, you can set
|
|
|
810
814
|
- name: Setup PHP
|
|
811
815
|
uses: shivammathur/setup-php@v2
|
|
812
816
|
with:
|
|
813
|
-
php-version: '8.
|
|
817
|
+
php-version: '8.4'
|
|
814
818
|
env:
|
|
815
819
|
PACKAGIST_TOKEN: ${{ secrets.PACKAGIST_TOKEN }}
|
|
816
820
|
```
|
|
@@ -824,7 +828,7 @@ Please refer to the authentication section in [`composer documentation`](https:/
|
|
|
824
828
|
- name: Setup PHP
|
|
825
829
|
uses: shivammathur/setup-php@v2
|
|
826
830
|
with:
|
|
827
|
-
php-version: '8.
|
|
831
|
+
php-version: '8.4'
|
|
828
832
|
env:
|
|
829
833
|
COMPOSER_AUTH_JSON: |
|
|
830
834
|
{
|
|
@@ -847,7 +851,7 @@ Put the code in the run property of a step and specify the shell as `php {0}`.
|
|
|
847
851
|
- name: Setup PHP
|
|
848
852
|
uses: shivammathur/setup-php@v2
|
|
849
853
|
with:
|
|
850
|
-
php-version: '8.
|
|
854
|
+
php-version: '8.4'
|
|
851
855
|
|
|
852
856
|
- name: Run PHP code
|
|
853
857
|
shell: php {0}
|
|
@@ -887,7 +891,7 @@ PHPStan supports error reporting in GitHub Actions, so it does not require probl
|
|
|
887
891
|
- name: Setup PHP
|
|
888
892
|
uses: shivammathur/setup-php@v2
|
|
889
893
|
with:
|
|
890
|
-
php-version: '8.
|
|
894
|
+
php-version: '8.4'
|
|
891
895
|
tools: phpstan
|
|
892
896
|
|
|
893
897
|
- name: Run PHPStan
|
|
@@ -902,7 +906,7 @@ Psalm supports error reporting in GitHub Actions with an output format `github`.
|
|
|
902
906
|
- name: Setup PHP
|
|
903
907
|
uses: shivammathur/setup-php@v2
|
|
904
908
|
with:
|
|
905
|
-
php-version: '8.
|
|
909
|
+
php-version: '8.4'
|
|
906
910
|
tools: psalm
|
|
907
911
|
|
|
908
912
|
- name: Run Psalm
|
|
@@ -920,7 +924,7 @@ For examples refer to the [cs2pr documentation](https://github.com/staabm/annota
|
|
|
920
924
|
- name: Setup PHP
|
|
921
925
|
uses: shivammathur/setup-php@v2
|
|
922
926
|
with:
|
|
923
|
-
php-version: '8.
|
|
927
|
+
php-version: '8.4'
|
|
924
928
|
tools: cs2pr, phpcs
|
|
925
929
|
|
|
926
930
|
- name: Run phpcs
|
|
@@ -969,7 +973,7 @@ Examples of using `setup-php` with various PHP frameworks and packages.
|
|
|
969
973
|
|
|
970
974
|
## :scroll: License
|
|
971
975
|
|
|
972
|
-
- The scripts and documentation in this project are under the [MIT License](LICENSE "License for shivammathur/setup-php").
|
|
976
|
+
- The scripts and documentation in this project are under the [MIT License](LICENSE "License for shivammathur/setup-php").
|
|
973
977
|
- This project has multiple [dependencies](#package-dependencies "Dependencies for this PHP Action"). Their licenses can be found in their respective repositories.
|
|
974
978
|
- The logo for `setup-php` is a derivative work of [php.net logo](https://www.php.net/download-logos.php) and is licensed under the [CC BY-SA 4.0 License](https://creativecommons.org/licenses/by-sa/4.0/ "Creative Commons License").
|
|
975
979
|
|
|
@@ -1049,6 +1053,7 @@ These companies generously provide setup-php their products and services to aid
|
|
|
1049
1053
|
[`churn`]: https://github.com/bmitch/churn-php
|
|
1050
1054
|
[`codeception`]: https://codeception.com/
|
|
1051
1055
|
[`composer`]: https://getcomposer.org/
|
|
1056
|
+
[`composer-dependency-analyser`]: https://github.com/shipmonk-rnd/composer-dependency-analyser
|
|
1052
1057
|
[`composer-normalize`]: https://github.com/ergebnis/composer-normalize
|
|
1053
1058
|
[`composer-prefetcher`]: https://github.com/narrowspark/automatic-composer-prefetcher
|
|
1054
1059
|
[`composer-require-checker`]: https://github.com/maglnet/ComposerRequireChecker
|
package/lib/config.js
CHANGED
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
exports.addINIValuesUnix = addINIValuesUnix;
|
|
27
37
|
exports.addINIValuesWindows = addINIValuesWindows;
|
package/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,4CAeC;AAOD,kDAYC;AASD,oCA+BC;AAjFD,+CAAiC;AAO1B,KAAK,UAAU,gBAAgB,CACpC,cAAsB;IAEtB,MAAM,UAAU,GAAkB,MAAM,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,WAAW,IAAY;QAC/D,MAAM;YACJ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,OAAO,CACL,QAAQ;QACR,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QACrB,gEAAgE;QAChE,MAAM,CACP,CAAC;AACJ,CAAC;AAOM,KAAK,UAAU,mBAAmB,CACvC,cAAsB;IAEtB,MAAM,UAAU,GAAkB,MAAM,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvE,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,MAAM,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,WAAW,IAAY;QAC/D,MAAM;YACJ,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,OAAO,CACL,mCAAmC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,MAAM,CAC3E,CAAC;AACJ,CAAC;AASM,KAAK,UAAU,YAAY,CAChC,cAAsB,EACtB,EAAU,EACV,OAAO,GAAG,KAAK;IAEf,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,IAAI;YACP,MAAM;gBACJ,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;oBAC/C,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;oBAChC,IAAI,CAAC;YACP,MAAM;QACR,KAAK,KAAK,CAAC;QACX;YACE,MAAM,IAAI,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YACjE,MAAM;IACV,CAAC;IACD,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,OAAO;YACV,OAAO,MAAM,GAAG,CAAC,MAAM,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC;QAC9D,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACV,OAAO,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3D;YACE,OAAO,MAAM,KAAK,CAAC,GAAG,CACpB,WAAW,GAAG,EAAE,GAAG,mBAAmB,EACtC,EAAE,EACF,OAAO,CACR,CAAC;IACN,CAAC;AACH,CAAC"}
|