setup-php 2.16.0 → 2.18.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 +159 -141
- package/lib/config.d.ts +3 -0
- package/lib/config.js +76 -0
- package/lib/config.js.map +1 -0
- package/lib/coverage.d.ts +5 -0
- package/lib/coverage.js +102 -0
- package/lib/coverage.js.map +1 -0
- package/lib/extensions.d.ts +4 -0
- package/lib/extensions.js +219 -0
- package/lib/extensions.js.map +1 -0
- package/lib/fetch.d.ts +1 -0
- package/lib/fetch.js +67 -0
- package/lib/fetch.js.map +1 -0
- package/lib/install.d.ts +2 -0
- package/lib/install.js +80 -0
- package/lib/install.js.map +1 -0
- package/lib/tools.d.ts +23 -0
- package/lib/tools.js +378 -0
- package/lib/tools.js.map +1 -0
- package/lib/utils.d.ts +21 -0
- package/lib/utils.js +266 -0
- package/lib/utils.js.map +1 -0
- package/package.json +21 -20
- package/src/config.ts +8 -8
- package/src/configs/brew_extensions +1 -0
- package/src/configs/composer.env +2 -0
- package/src/configs/ini/jit.ini +3 -0
- package/src/configs/ini/php.ini +2 -0
- package/src/configs/ini/xdebug.ini +1 -0
- package/src/configs/os_releases.csv +2 -0
- package/src/configs/php_packages +12 -0
- package/src/configs/tools.json +48 -26
- package/src/configs/tools_schema.json +11 -0
- package/src/coverage.ts +24 -49
- package/src/extensions.ts +28 -24
- package/src/fetch.ts +54 -0
- package/src/install.ts +28 -41
- package/src/scripts/darwin.sh +81 -33
- package/src/scripts/extensions/add_extensions.ps1 +194 -0
- package/src/scripts/extensions/add_extensions.sh +198 -0
- package/src/scripts/{ext → extensions}/blackfire.ps1 +0 -0
- package/src/scripts/{ext → extensions}/blackfire.sh +0 -0
- package/src/scripts/{ext → extensions}/couchbase.sh +0 -0
- package/src/scripts/{ext → extensions}/cubrid.sh +3 -3
- package/src/scripts/{ext → extensions}/extension_map.php +36 -13
- package/src/scripts/{ext → extensions}/firebird.ps1 +0 -0
- package/src/scripts/{ext → extensions}/firebird.sh +0 -0
- package/src/scripts/{ext → extensions}/gearman.sh +0 -0
- package/src/scripts/{ext → extensions}/geos.sh +0 -0
- package/src/scripts/{ext → extensions}/http.ps1 +1 -0
- package/src/scripts/{ext → extensions}/http.sh +13 -20
- package/src/scripts/{ext → extensions}/intl.sh +0 -0
- package/src/scripts/{ext → extensions}/ioncube.ps1 +2 -2
- package/src/scripts/{ext → extensions}/ioncube.sh +2 -2
- package/src/scripts/{ext → extensions}/oci.ps1 +39 -14
- package/src/scripts/{ext → extensions}/oci.sh +3 -3
- package/src/scripts/{ext → extensions}/patches/firebird.sh +0 -0
- package/src/scripts/{ext → extensions}/patches/geos.sh +0 -0
- package/src/scripts/{ext → extensions}/patches/http.sh +0 -0
- package/src/scripts/{ext → extensions}/patches/pdo_oci.sh +0 -0
- package/src/scripts/{ext → extensions}/patches/phpize.sh +0 -0
- package/src/scripts/{ext → extensions}/patches/protobuf.sh +0 -0
- package/src/scripts/{ext → extensions}/phalcon.ps1 +0 -0
- package/src/scripts/{ext → extensions}/phalcon.sh +4 -5
- package/src/scripts/{ext → extensions}/source.sh +36 -22
- package/src/scripts/extensions/sqlsrv.sh +15 -0
- package/src/scripts/linux.sh +76 -36
- package/src/scripts/tools/add_tools.ps1 +220 -10
- package/src/scripts/tools/add_tools.sh +164 -17
- package/src/scripts/tools/grpc_php_plugin.ps1 +4 -4
- package/src/scripts/tools/grpc_php_plugin.sh +3 -3
- package/src/scripts/tools/ppa.sh +12 -9
- package/src/scripts/tools/protoc.ps1 +2 -2
- package/src/scripts/tools/protoc.sh +2 -2
- package/src/scripts/tools/symfony.ps1 +18 -0
- package/src/scripts/tools/symfony.sh +18 -0
- package/src/scripts/unix.sh +186 -0
- package/src/scripts/win32.ps1 +137 -336
- package/src/tools.ts +62 -82
- package/src/utils.ts +57 -145
- package/src/scripts/common.sh +0 -366
package/README.md
CHANGED
|
@@ -11,22 +11,24 @@
|
|
|
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/master/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
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.2-777bb3.svg?logo=php&logoColor=white&labelColor=555555"></a>
|
|
14
|
-
<a href="https://beta.stepsecurity.io/npm/setup-php"><img alt="release verified" src="https://img.shields.io/endpoint?url=https://beta.api.stepsecurity.io/v1/npm/setup-php/badge?q=1"></a>
|
|
15
14
|
</p>
|
|
16
15
|
<p align="center">
|
|
17
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>
|
|
18
17
|
<a href="https://twitter.com/setup_php" title="setup-php twitter"><img alt="setup-php twitter" src="https://img.shields.io/badge/twitter-follow-1DA1F2?logo=twitter&logoColor=1DA1F2&labelColor=555555"></a>
|
|
19
18
|
<a href="https://status.setup-php.com" title="setup-php status"><img alt="setup-php status" src="https://img.shields.io/badge/status-subscribe-28A745?logo=statuspage&logoColor=28A745&labelColor=555555"></a>
|
|
20
19
|
</p>
|
|
20
|
+
<p align="center">
|
|
21
|
+
<a href="https://setup-php.com/support-ukraine" title="#StandWithUkraine"><img alt="#StandWithUkraine" src="https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg"></a>
|
|
22
|
+
</p>
|
|
21
23
|
|
|
22
|
-
Setup PHP with required extensions, php.ini configuration, code-coverage support and various tools like composer in [GitHub Actions](https://github.com/features/actions "GitHub Actions"). This action gives you a cross
|
|
24
|
+
Setup PHP with required extensions, php.ini configuration, code-coverage support and various tools like composer in [GitHub Actions](https://github.com/features/actions "GitHub Actions"). This action gives you a cross-platform interface to set up the PHP environment you need to test your application. Refer to [Usage](#memo-usage "How to use this") section and [examples](#examples "Examples of use") to see how to use this.
|
|
23
25
|
|
|
24
26
|
## Contents
|
|
25
27
|
|
|
26
28
|
- [OS/Platform Support](#cloud-osplatform-support)
|
|
27
29
|
- [GitHub-Hosted Runners](#github-hosted-runners)
|
|
28
30
|
- [Self-Hosted Runners](#self-hosted-runners)
|
|
29
|
-
- [PHP Support](#tada-php-support)
|
|
31
|
+
- [PHP Support](#tada-php-support)
|
|
30
32
|
- [PHP Extension Support](#heavy_plus_sign-php-extension-support)
|
|
31
33
|
- [Tools Support](#wrench-tools-support)
|
|
32
34
|
- [Coverage Support](#signal_strength-coverage-support)
|
|
@@ -38,11 +40,11 @@ Setup PHP with required extensions, php.ini configuration, code-coverage support
|
|
|
38
40
|
- [Outputs](#outputs)
|
|
39
41
|
- [Flags](#flags)
|
|
40
42
|
- [Basic Setup](#basic-setup)
|
|
41
|
-
- [Matrix Setup](#matrix-setup)
|
|
43
|
+
- [Matrix Setup](#matrix-setup)
|
|
42
44
|
- [Nightly Build Setup](#nightly-build-setup)
|
|
43
45
|
- [Thread Safe Setup](#thread-safe-setup)
|
|
44
46
|
- [Force Update Setup](#force-update-setup)
|
|
45
|
-
- [Verbose Setup](#verbose-setup)
|
|
47
|
+
- [Verbose Setup](#verbose-setup)
|
|
46
48
|
- [Multi-Arch Setup](#multi-arch-setup)
|
|
47
49
|
- [Self Hosted Setup](#self-hosted-setup)
|
|
48
50
|
- [Local Testing Setup](#local-testing-setup)
|
|
@@ -62,36 +64,37 @@ Setup PHP with required extensions, php.ini configuration, code-coverage support
|
|
|
62
64
|
|
|
63
65
|
## :cloud: OS/Platform Support
|
|
64
66
|
|
|
65
|
-
Both `GitHub-hosted` and `self-hosted` runners are
|
|
67
|
+
Both `GitHub-hosted` and `self-hosted` runners are supported by `setup-php` on the following OS/Platforms.
|
|
66
68
|
|
|
67
69
|
### GitHub-Hosted Runners
|
|
68
70
|
|
|
69
|
-
|Virtual environment|YAML workflow label|Pre-installed PHP|
|
|
70
|
-
|
|
71
|
-
|Ubuntu
|
|
72
|
-
|Ubuntu
|
|
73
|
-
|Windows Server
|
|
74
|
-
|Windows Server
|
|
75
|
-
|macOS
|
|
76
|
-
|macOS
|
|
71
|
+
| Virtual environment | YAML workflow label | Pre-installed PHP |
|
|
72
|
+
|-----------------------|------------------------------------|------------------------|
|
|
73
|
+
| Ubuntu 20.04 | `ubuntu-latest` or `ubuntu-20.04` | `PHP 7.4` to `PHP 8.1` |
|
|
74
|
+
| Ubuntu 18.04 | `ubuntu-18.04` | `PHP 7.1` to `PHP 8.1` |
|
|
75
|
+
| Windows Server 2022 | `windows-latest` or `windows-2022` | `PHP 8.1` |
|
|
76
|
+
| Windows Server 2019 | `windows-2019` | `PHP 8.1` |
|
|
77
|
+
| macOS Big Sur 11.x | `macos-11` | `PHP 8.1` |
|
|
78
|
+
| macOS Catalina 10.15 | `macos-latest` or `macos-10.15` | `PHP 8.1` |
|
|
77
79
|
|
|
78
80
|
### Self-Hosted Runners
|
|
79
81
|
|
|
80
|
-
|Host OS/Virtual environment|YAML workflow label|
|
|
81
|
-
|
|
82
|
-
|Ubuntu
|
|
83
|
-
|Ubuntu 20.04
|
|
84
|
-
|Ubuntu
|
|
85
|
-
|Debian
|
|
86
|
-
|Debian 10
|
|
87
|
-
|Debian
|
|
88
|
-
|Windows 7 and newer
|
|
89
|
-
|Windows Server 2012 R2 and newer
|
|
90
|
-
|macOS
|
|
91
|
-
|macOS Big Sur 11.x x86_64/arm64
|
|
82
|
+
| Host OS/Virtual environment | YAML workflow label |
|
|
83
|
+
|----------------------------------|----------------------------|
|
|
84
|
+
| Ubuntu 21.04 | `self-hosted` or `Linux` |
|
|
85
|
+
| Ubuntu 20.04 | `self-hosted` or `Linux` |
|
|
86
|
+
| Ubuntu 18.04 | `self-hosted` or `Linux` |
|
|
87
|
+
| Debian 11 | `self-hosted` or `Linux` |
|
|
88
|
+
| Debian 10 | `self-hosted` or `Linux` |
|
|
89
|
+
| Debian 9 | `self-hosted` or `Linux` |
|
|
90
|
+
| Windows 7 and newer | `self-hosted` or `Windows` |
|
|
91
|
+
| Windows Server 2012 R2 and newer | `self-hosted` or `Windows` |
|
|
92
|
+
| macOS Monterey 12.x x86_64/arm64 | `self-hosted` or `macOS` |
|
|
93
|
+
| macOS Big Sur 11.x x86_64/arm64 | `self-hosted` or `macOS` |
|
|
94
|
+
| macOS Catalina 10.15 | `self-hosted` or `macOS` |
|
|
92
95
|
|
|
93
96
|
- Refer to the [self-hosted setup](#self-hosted-setup) to use the action on self-hosted runners.
|
|
94
|
-
- Operating systems based on the above Ubuntu and Debian versions are also supported on
|
|
97
|
+
- Operating systems based on the above Ubuntu and Debian versions are also supported on best effort basis.
|
|
95
98
|
- If the requested PHP version is pre-installed, `setup-php` switches to it, otherwise it installs the PHP version.
|
|
96
99
|
|
|
97
100
|
## :tada: PHP Support
|
|
@@ -101,22 +104,22 @@ On all supported OS/Platforms the following PHP versions are supported as per th
|
|
|
101
104
|
- PHP 5.3 to PHP 8.2 on GitHub-hosted runners.
|
|
102
105
|
- PHP 5.6 to PHP 8.2 on self-hosted runners.
|
|
103
106
|
|
|
104
|
-
|PHP Version|Stability|Release Support|Runner Support|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
**Notes:**
|
|
107
|
+
| PHP Version | Stability | Release Support | Runner Support |
|
|
108
|
+
|-------------|-----------|-----------------------|--------------------------------|
|
|
109
|
+
| `5.3` | `Stable` | `End of life` | `GitHub-hosted` |
|
|
110
|
+
| `5.4` | `Stable` | `End of life` | `GitHub-hosted` |
|
|
111
|
+
| `5.5` | `Stable` | `End of life` | `GitHub-hosted` |
|
|
112
|
+
| `5.6` | `Stable` | `End of life` | `GitHub-hosted`, `self-hosted` |
|
|
113
|
+
| `7.0` | `Stable` | `End of life` | `GitHub-hosted`, `self-hosted` |
|
|
114
|
+
| `7.1` | `Stable` | `End of life` | `GitHub-hosted`, `self-hosted` |
|
|
115
|
+
| `7.2` | `Stable` | `End of life` | `GitHub-hosted`, `self-hosted` |
|
|
116
|
+
| `7.3` | `Stable` | `End of life` | `GitHub-hosted`, `self-hosted` |
|
|
117
|
+
| `7.4` | `Stable` | `Security fixes only` | `GitHub-hosted`, `self-hosted` |
|
|
118
|
+
| `8.0` | `Stable` | `Active` | `GitHub-hosted`, `self-hosted` |
|
|
119
|
+
| `8.1` | `Stable` | `Active` | `GitHub-hosted`, `self-hosted` |
|
|
120
|
+
| `8.2` | `Nightly` | `In development` | `GitHub-hosted`, `self-hosted` |
|
|
121
|
+
|
|
122
|
+
**Notes:**
|
|
120
123
|
- Specifying `8.2` in `php-version` input installs a nightly build of `PHP 8.2.0-dev`. See [nightly build setup](#nightly-build-setup) for more information.
|
|
121
124
|
- To use JIT on `PHP 8.0` and above, refer to the [JIT configuration](#jit-configuration) section.
|
|
122
125
|
|
|
@@ -130,7 +133,7 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
|
|
|
130
133
|
- name: Setup PHP with PECL extension
|
|
131
134
|
uses: shivammathur/setup-php@v2
|
|
132
135
|
with:
|
|
133
|
-
php-version: '8.
|
|
136
|
+
php-version: '8.1'
|
|
134
137
|
extensions: imagick, swoole
|
|
135
138
|
```
|
|
136
139
|
|
|
@@ -152,35 +155,37 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
|
|
|
152
155
|
extensions: swoole-1.9.3
|
|
153
156
|
```
|
|
154
157
|
|
|
155
|
-
-
|
|
158
|
+
- Extensions with pre-release versions available on `PECL` can be set up by suffixing the extension's name with its state i.e `alpha`, `beta`, `devel` or `snapshot`.
|
|
156
159
|
|
|
157
160
|
```yaml
|
|
158
161
|
- name: Setup PHP with pre-release PECL extension
|
|
159
162
|
uses: shivammathur/setup-php@v2
|
|
160
163
|
with:
|
|
161
|
-
php-version: '8.
|
|
164
|
+
php-version: '8.1'
|
|
162
165
|
extensions: xdebug-beta
|
|
163
166
|
```
|
|
164
167
|
|
|
168
|
+
- On `Ubuntu` and `macOS` to compile and install an extension from PECL with libraries or custom configuration follow this [guide](https://github.com/shivammathur/setup-php/wiki/Add-extension-from-PECL-with-libraries-and-custom-configuration "Guide to compile and install PHP extensions using PECL with libraries and custom configuration in setup-php").
|
|
169
|
+
|
|
165
170
|
- Shared extensions can be disabled by prefixing them with a `:`. All extensions depending on the specified extension will also be disabled.
|
|
166
171
|
|
|
167
172
|
```yaml
|
|
168
173
|
- name: Setup PHP and disable opcache
|
|
169
174
|
uses: shivammathur/setup-php@v2
|
|
170
175
|
with:
|
|
171
|
-
php-version: '8.
|
|
176
|
+
php-version: '8.1'
|
|
172
177
|
extensions: :opcache
|
|
173
178
|
```
|
|
174
179
|
|
|
175
180
|
- 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.
|
|
176
|
-
|
|
177
|
-
**Note:** This disables all core and third-party shared extensions and thus, can break some tools which need them. So
|
|
181
|
+
|
|
182
|
+
**Note:** 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.
|
|
178
183
|
|
|
179
184
|
```yaml
|
|
180
185
|
- name: Setup PHP without any shared extensions except mbstring
|
|
181
186
|
uses: shivammathur/setup-php@v2
|
|
182
187
|
with:
|
|
183
|
-
php-version: '8.
|
|
188
|
+
php-version: '8.1'
|
|
184
189
|
extensions: none, mbstring
|
|
185
190
|
```
|
|
186
191
|
|
|
@@ -190,8 +195,8 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
|
|
|
190
195
|
- name: Setup PHP with intl
|
|
191
196
|
uses: shivammathur/setup-php@v2
|
|
192
197
|
with:
|
|
193
|
-
php-version: '8.
|
|
194
|
-
extensions: intl-
|
|
198
|
+
php-version: '8.1'
|
|
199
|
+
extensions: intl-70.1
|
|
195
200
|
```
|
|
196
201
|
|
|
197
202
|
- Extensions loaded by default after `setup-php` runs can be found on the [wiki](https://github.com/shivammathur/setup-php/wiki).
|
|
@@ -201,13 +206,13 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
|
|
|
201
206
|
- `geos` on `Ubuntu` and `macOS`.
|
|
202
207
|
- `blackfire`, `couchbase`, `ioncube`, `oci8`, `pdo_firebird`, `pdo_oci`, `pecl_http`, `phalcon3` and `phalcon4` on all supported OS.
|
|
203
208
|
|
|
204
|
-
- By default, extensions which cannot be added or disabled gracefully leave an error message in the logs, the
|
|
209
|
+
- By default, extensions which cannot be added or disabled gracefully leave an error message in the logs, the execution is not interrupted. To change this behaviour you can set `fail-fast` flag to `true`.
|
|
205
210
|
|
|
206
211
|
```yaml
|
|
207
212
|
- name: Setup PHP with fail-fast
|
|
208
213
|
uses: shivammathur/setup-php@v2
|
|
209
214
|
with:
|
|
210
|
-
php-version: '8.
|
|
215
|
+
php-version: '8.1'
|
|
211
216
|
extensions: oci8
|
|
212
217
|
env:
|
|
213
218
|
fail-fast: true
|
|
@@ -217,13 +222,13 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
|
|
|
217
222
|
|
|
218
223
|
These tools can be set up globally using the `tools` input. It accepts a string in csv-format.
|
|
219
224
|
|
|
220
|
-
[`behat`], [`blackfire`], [`blackfire-player`], [`codeception`], [`composer`], [`composer-normalize`], [`composer-prefetcher`], [`composer-require-checker`], [`composer-unused`], [`cs2pr`], [`deployer`], [`flex`], [`grpc_php_plugin`], [`infection`], [`parallel-lint`], [`pecl`], [`phan`], [`phing`], [`phinx`], [`phive`], [`php-config`], [`php-cs-fixer`], [`phpcbf`], [`phpcpd`], [`phpcs`], [`phpdoc`] or [`phpDocumentor`], [`phpize`], [`phplint`], [`phpmd`], [`phpspec`], [`phpstan`], [`phpunit`], [`phpunit-bridge`], [`phpunit-polyfills`], [`prestissimo`], [`protoc`], [`psalm`], [`symfony`] or [`symfony-cli`], [`vapor`] or [`vapor-cli`], [`wp`] or [`wp-cli`]
|
|
225
|
+
[`behat`], [`blackfire`], [`blackfire-player`], [`churn`], [`codeception`], [`composer`], [`composer-normalize`], [`composer-prefetcher`], [`composer-require-checker`], [`composer-unused`], [`cs2pr`], [`deployer`], [`flex`], [`grpc_php_plugin`], [`infection`], [`parallel-lint`], [`pecl`], [`phan`], [`phing`], [`phinx`], [`phive`], [`php-config`], [`php-cs-fixer`], [`phpcbf`], [`phpcpd`], [`phpcs`], [`phpdoc`] or [`phpDocumentor`], [`phpize`], [`phplint`], [`phpmd`], [`phpspec`], [`phpstan`], [`phpunit`], [`phpunit-bridge`], [`phpunit-polyfills`], [`prestissimo`], [`protoc`], [`psalm`], [`symfony`] or [`symfony-cli`], [`vapor`] or [`vapor-cli`], [`wp`] or [`wp-cli`]
|
|
221
226
|
|
|
222
227
|
```yaml
|
|
223
228
|
- name: Setup PHP with tools
|
|
224
229
|
uses: shivammathur/setup-php@v2
|
|
225
230
|
with:
|
|
226
|
-
php-version: '8.
|
|
231
|
+
php-version: '8.1'
|
|
227
232
|
tools: php-cs-fixer, phpunit
|
|
228
233
|
```
|
|
229
234
|
|
|
@@ -233,7 +238,7 @@ These tools can be set up globally using the `tools` input. It accepts a string
|
|
|
233
238
|
- name: Setup PHP with tools
|
|
234
239
|
uses: shivammathur/setup-php@v2
|
|
235
240
|
with:
|
|
236
|
-
php-version: '8.
|
|
241
|
+
php-version: '8.1'
|
|
237
242
|
tools: vimeo/psalm
|
|
238
243
|
```
|
|
239
244
|
|
|
@@ -252,8 +257,8 @@ These tools can be set up globally using the `tools` input. It accepts a string
|
|
|
252
257
|
- name: Setup PHP with tools
|
|
253
258
|
uses: shivammathur/setup-php@v2
|
|
254
259
|
with:
|
|
255
|
-
php-version: '8.
|
|
256
|
-
tools: php-cs-fixer:3, phpunit:
|
|
260
|
+
php-version: '8.1'
|
|
261
|
+
tools: php-cs-fixer:3.5, phpunit:9.5
|
|
257
262
|
env:
|
|
258
263
|
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
259
264
|
```
|
|
@@ -264,7 +269,7 @@ These tools can be set up globally using the `tools` input. It accepts a string
|
|
|
264
269
|
- name: Setup PHP with composer v2
|
|
265
270
|
uses: shivammathur/setup-php@v2
|
|
266
271
|
with:
|
|
267
|
-
php-version: '8.
|
|
272
|
+
php-version: '8.1'
|
|
268
273
|
tools: composer:v2
|
|
269
274
|
```
|
|
270
275
|
|
|
@@ -274,32 +279,32 @@ These tools can be set up globally using the `tools` input. It accepts a string
|
|
|
274
279
|
- name: Setup PHP without composer
|
|
275
280
|
uses: shivammathur/setup-php@v2
|
|
276
281
|
with:
|
|
277
|
-
php-version: '8.
|
|
282
|
+
php-version: '8.1'
|
|
278
283
|
tools: none
|
|
279
284
|
```
|
|
280
285
|
|
|
281
|
-
-
|
|
286
|
+
- Tools `pear`, `pecl`, `phpize` and `php-config` are set up by default for all supported PHP versions on Linux and macOS.
|
|
282
287
|
|
|
283
288
|
- The latest version of `blackfire` cli is set up when `blackfire` is specified in tools input. Please refer to the [official documentation](https://blackfire.io/docs/integrations/ci/github-actions "Blackfire.io documentation for GitHub Actions") for using `blackfire` with GitHub Actions.
|
|
284
289
|
|
|
285
290
|
- Tools `prestissimo` and `composer-prefetcher` will be skipped unless `composer:v1` is also specified in tools input. It is recommended to drop `prestissimo` and use `composer v2`.
|
|
286
291
|
|
|
287
|
-
- By default, tools which cannot be set up gracefully leave an error message in the logs, the
|
|
292
|
+
- By default, expect `composer` tools which cannot be set up gracefully leave an error message in the logs, the execution is not interrupted. To change this behaviour you can set `fail-fast` flag to `true`.
|
|
288
293
|
|
|
289
294
|
```yaml
|
|
290
295
|
- name: Setup PHP with fail-fast
|
|
291
296
|
uses: shivammathur/setup-php@v2
|
|
292
297
|
with:
|
|
293
|
-
php-version: '8.
|
|
298
|
+
php-version: '8.1'
|
|
294
299
|
tools: deployer
|
|
295
300
|
env:
|
|
296
301
|
fail-fast: true
|
|
297
302
|
```
|
|
298
303
|
|
|
299
304
|
**Notes**
|
|
300
|
-
- Input `tools` is useful to set up tools which
|
|
301
|
-
- If you do not want to use all your dev-dependencies in
|
|
302
|
-
-
|
|
305
|
+
- Input `tools` is useful to set up tools which are only used in CI workflows, thus keeping your `composer.json` tidy.
|
|
306
|
+
- 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.
|
|
307
|
+
- 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`.
|
|
303
308
|
|
|
304
309
|
## :signal_strength: Coverage Support
|
|
305
310
|
|
|
@@ -312,11 +317,11 @@ Runs on all [PHP versions supported](#tada-php-support "List of PHP versions sup
|
|
|
312
317
|
- name: Setup PHP with Xdebug
|
|
313
318
|
uses: shivammathur/setup-php@v2
|
|
314
319
|
with:
|
|
315
|
-
php-version: '8.
|
|
320
|
+
php-version: '8.1'
|
|
316
321
|
coverage: xdebug
|
|
317
322
|
```
|
|
318
323
|
|
|
319
|
-
-
|
|
324
|
+
- When you specify `coverage: xdebug`, the latest version of Xdebug compatible with the PHP version is set up by default.
|
|
320
325
|
- If you need Xdebug 2.x on PHP 7.2, 7.3 or 7.4, you can specify `coverage: xdebug2`.
|
|
321
326
|
|
|
322
327
|
```yaml
|
|
@@ -327,6 +332,8 @@ Runs on all [PHP versions supported](#tada-php-support "List of PHP versions sup
|
|
|
327
332
|
coverage: xdebug2
|
|
328
333
|
```
|
|
329
334
|
|
|
335
|
+
**Note**: 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.
|
|
336
|
+
|
|
330
337
|
### PCOV
|
|
331
338
|
|
|
332
339
|
Specify `coverage: pcov` to use `PCOV` and disable `Xdebug`.
|
|
@@ -338,7 +345,7 @@ Runs on PHP 7.1 and newer PHP versions.
|
|
|
338
345
|
- name: Setup PHP with PCOV
|
|
339
346
|
uses: shivammathur/setup-php@v2
|
|
340
347
|
with:
|
|
341
|
-
php-version: '8.
|
|
348
|
+
php-version: '8.1'
|
|
342
349
|
ini-values: pcov.directory=api #optional, see above for usage.
|
|
343
350
|
coverage: pcov
|
|
344
351
|
```
|
|
@@ -360,7 +367,6 @@ Specify `coverage: none` to disable both `Xdebug` and `PCOV`.
|
|
|
360
367
|
Disable coverage for these reasons:
|
|
361
368
|
|
|
362
369
|
- You are not generating coverage reports while testing.
|
|
363
|
-
- It will disable `Xdebug`, which will have a positive impact on PHP performance.
|
|
364
370
|
- You are using `phpdbg` for running your tests.
|
|
365
371
|
- You are profiling your code using `blackfire`.
|
|
366
372
|
- You are using PHP in JIT mode. Please refer to [JIT configuration](#jit-configuration) section for more details.
|
|
@@ -369,7 +375,7 @@ Disable coverage for these reasons:
|
|
|
369
375
|
- name: Setup PHP with no coverage driver
|
|
370
376
|
uses: shivammathur/setup-php@v2
|
|
371
377
|
with:
|
|
372
|
-
php-version: '8.
|
|
378
|
+
php-version: '8.1'
|
|
373
379
|
coverage: none
|
|
374
380
|
```
|
|
375
381
|
|
|
@@ -396,6 +402,12 @@ Disable coverage for these reasons:
|
|
|
396
402
|
- Shared extensions prefixed with `:` are disabled.
|
|
397
403
|
- See [PHP extension support](#heavy_plus_sign-php-extension-support) for more info.
|
|
398
404
|
|
|
405
|
+
#### `ini-file` (optional)
|
|
406
|
+
|
|
407
|
+
- Specify the base `php.ini` file.
|
|
408
|
+
- Accepts `production`, `development` or `none`.
|
|
409
|
+
- By default, production `php.ini` file is used.
|
|
410
|
+
|
|
399
411
|
#### `ini-values` (optional)
|
|
400
412
|
|
|
401
413
|
- Specify the values you want to add to `php.ini`.
|
|
@@ -418,7 +430,7 @@ Disable coverage for these reasons:
|
|
|
418
430
|
|
|
419
431
|
#### `php-version`
|
|
420
432
|
|
|
421
|
-
|
|
433
|
+
On GitHub Actions you can assign the `setup-php` step an `id`, you can use the same to get the outputs in a later step.
|
|
422
434
|
|
|
423
435
|
- Provides the PHP version in semver format.
|
|
424
436
|
|
|
@@ -427,7 +439,7 @@ To use outputs, give the `setup-php` step an `id`, you can use the same to get t
|
|
|
427
439
|
id: setup-php
|
|
428
440
|
uses: shivammathur/setup-php@v2
|
|
429
441
|
with:
|
|
430
|
-
php-version: '8.
|
|
442
|
+
php-version: '8.1'
|
|
431
443
|
|
|
432
444
|
- name: Print PHP version
|
|
433
445
|
run: echo ${{ steps.setup-php.outputs.php-version }}
|
|
@@ -462,14 +474,14 @@ See below for more info.
|
|
|
462
474
|
|
|
463
475
|
### Basic Setup
|
|
464
476
|
|
|
465
|
-
>
|
|
477
|
+
> Set up a particular PHP version.
|
|
466
478
|
|
|
467
479
|
```yaml
|
|
468
480
|
steps:
|
|
469
481
|
- name: Setup PHP
|
|
470
482
|
uses: shivammathur/setup-php@v2
|
|
471
483
|
with:
|
|
472
|
-
php-version: '8.
|
|
484
|
+
php-version: '8.1'
|
|
473
485
|
extensions: mbstring, intl
|
|
474
486
|
ini-values: post_max_size=256M, max_execution_time=180
|
|
475
487
|
coverage: xdebug
|
|
@@ -478,7 +490,7 @@ steps:
|
|
|
478
490
|
|
|
479
491
|
### Matrix Setup
|
|
480
492
|
|
|
481
|
-
>
|
|
493
|
+
> Set up multiple PHP versions on multiple operating systems.
|
|
482
494
|
|
|
483
495
|
```yaml
|
|
484
496
|
jobs:
|
|
@@ -487,7 +499,7 @@ jobs:
|
|
|
487
499
|
strategy:
|
|
488
500
|
matrix:
|
|
489
501
|
operating-system: ['ubuntu-latest', 'windows-latest', 'macos-latest']
|
|
490
|
-
php-versions: ['7.
|
|
502
|
+
php-versions: ['7.4', '8.0', '8.1']
|
|
491
503
|
phpunit-versions: ['latest']
|
|
492
504
|
include:
|
|
493
505
|
- operating-system: 'ubuntu-latest'
|
|
@@ -506,9 +518,9 @@ jobs:
|
|
|
506
518
|
|
|
507
519
|
### Nightly Build Setup
|
|
508
520
|
|
|
509
|
-
>
|
|
521
|
+
> Set up a nightly build of `PHP 8.2`.
|
|
510
522
|
|
|
511
|
-
- This version is currently in development.
|
|
523
|
+
- This PHP version is currently in active development and might contain bugs and breaking changes.
|
|
512
524
|
- Some user space extensions might not support this version currently.
|
|
513
525
|
|
|
514
526
|
```yaml
|
|
@@ -525,7 +537,7 @@ steps:
|
|
|
525
537
|
|
|
526
538
|
### Thread Safe Setup
|
|
527
539
|
|
|
528
|
-
>
|
|
540
|
+
> Set up `TS` or `NTS` PHP on `Windows`.
|
|
529
541
|
|
|
530
542
|
- `NTS` versions are set up by default.
|
|
531
543
|
- On `Ubuntu` and `macOS` only `NTS` versions are supported.
|
|
@@ -540,7 +552,7 @@ jobs:
|
|
|
540
552
|
- name: Setup PHP
|
|
541
553
|
uses: shivammathur/setup-php@v2
|
|
542
554
|
with:
|
|
543
|
-
php-version: '8.
|
|
555
|
+
php-version: '8.1'
|
|
544
556
|
env:
|
|
545
557
|
phpts: ts # specify ts or nts
|
|
546
558
|
```
|
|
@@ -549,14 +561,14 @@ jobs:
|
|
|
549
561
|
|
|
550
562
|
> Update to the latest patch of PHP versions.
|
|
551
563
|
|
|
552
|
-
- Pre-installed PHP versions
|
|
564
|
+
- Pre-installed PHP versions are not updated to their latest patch release by default.
|
|
553
565
|
- You can specify the `update` environment variable to `true` for updating to the latest release.
|
|
554
566
|
|
|
555
567
|
```yaml
|
|
556
568
|
- name: Setup PHP with latest versions
|
|
557
569
|
uses: shivammathur/setup-php@v2
|
|
558
570
|
with:
|
|
559
|
-
php-version: '8.
|
|
571
|
+
php-version: '8.1'
|
|
560
572
|
env:
|
|
561
573
|
update: true # specify true or false
|
|
562
574
|
```
|
|
@@ -571,15 +583,15 @@ To debug any issues, you can use the `verbose` tag instead of `v2`.
|
|
|
571
583
|
- name: Setup PHP with logs
|
|
572
584
|
uses: shivammathur/setup-php@verbose
|
|
573
585
|
with:
|
|
574
|
-
php-version: '8.
|
|
586
|
+
php-version: '8.1'
|
|
575
587
|
```
|
|
576
588
|
|
|
577
589
|
### Multi-Arch Setup
|
|
578
590
|
|
|
579
|
-
>
|
|
591
|
+
> Set up PHP on multiple architecture on Ubuntu GitHub Runners.
|
|
580
592
|
|
|
581
|
-
- `PHP 5.6` to `PHP 8.
|
|
582
|
-
- For this, you can use `shivammathur/node` images as containers. These have compatible `Nodejs` installed for
|
|
593
|
+
- `PHP 5.6` to `PHP 8.1` are supported by `setup-php` on multiple architecture on `Ubuntu`.
|
|
594
|
+
- For this, you can use `shivammathur/node` images as containers. These have compatible `Nodejs` installed for `setup-php`.
|
|
583
595
|
- Currently, for `ARM` based setup, you will need [self-hosted runners](#self-hosted-setup).
|
|
584
596
|
|
|
585
597
|
```yaml
|
|
@@ -594,12 +606,12 @@ jobs:
|
|
|
594
606
|
- name: Install PHP
|
|
595
607
|
uses: shivammathur/setup-php@v2
|
|
596
608
|
with:
|
|
597
|
-
php-version: '8.
|
|
609
|
+
php-version: '8.1'
|
|
598
610
|
```
|
|
599
611
|
|
|
600
612
|
### Self Hosted Setup
|
|
601
613
|
|
|
602
|
-
>
|
|
614
|
+
> Set up PHP on a self-hosted runner.
|
|
603
615
|
|
|
604
616
|
- To set up a containerised self-hosted runner, refer to the following guides as per your base operating system.
|
|
605
617
|
- [Linux](https://github.com/shivammathur/setup-php/wiki/Dockerized-self-hosted-runner-on-Linux)
|
|
@@ -608,7 +620,7 @@ jobs:
|
|
|
608
620
|
- To set up the runner directly on the host OS or in a virtual machine, follow this [requirements guide](https://github.com/shivammathur/setup-php/wiki/Requirements-for-self-hosted-runners "Requirements guide for self-hosted runner to run setup-php") before setting up the self-hosted runner.
|
|
609
621
|
- If your workflow uses [service containers](https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idservices "GitHub Actions Services"), then set up the runner on a Linux host or in a Linux virtual machine. GitHub Actions does not support nested virtualization on Linux, so services will not work in a dockerized container.
|
|
610
622
|
|
|
611
|
-
|
|
623
|
+
It is recommended to specify the environment variable `runner` with the value `self-hosted` for self-hosted environments.
|
|
612
624
|
|
|
613
625
|
```yaml
|
|
614
626
|
jobs:
|
|
@@ -624,7 +636,7 @@ jobs:
|
|
|
624
636
|
with:
|
|
625
637
|
php-version: ${{ matrix.php-versions }}
|
|
626
638
|
env:
|
|
627
|
-
runner: self-hosted
|
|
639
|
+
runner: self-hosted
|
|
628
640
|
```
|
|
629
641
|
|
|
630
642
|
**Notes**
|
|
@@ -644,7 +656,7 @@ jobs:
|
|
|
644
656
|
- name: Setup PHP
|
|
645
657
|
uses: shivammathur/setup-php@v2
|
|
646
658
|
with:
|
|
647
|
-
php-version: '8.
|
|
659
|
+
php-version: '8.1'
|
|
648
660
|
```
|
|
649
661
|
|
|
650
662
|
Run the workflow locally with `act` using [`shivammathur/node`](https://github.com/shivammathur/node-docker "Docker image to run setup-php") docker images.
|
|
@@ -677,7 +689,7 @@ For example to enable JIT in `tracing` mode with buffer size of `64 MB`.
|
|
|
677
689
|
- name: Setup PHP with JIT in tracing mode
|
|
678
690
|
uses: shivammathur/setup-php@v2
|
|
679
691
|
with:
|
|
680
|
-
php-version: '8.
|
|
692
|
+
php-version: '8.1'
|
|
681
693
|
coverage: none
|
|
682
694
|
ini-values: opcache.enable_cli=1, opcache.jit=tracing, opcache.jit_buffer_size=64M
|
|
683
695
|
```
|
|
@@ -716,7 +728,7 @@ key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
|
|
|
716
728
|
|
|
717
729
|
- If you support a range of `composer` dependencies and use `prefer-lowest` and `prefer-stable` options, you can store them in your matrix and add them to the keys.
|
|
718
730
|
```yaml
|
|
719
|
-
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
|
|
731
|
+
key: ${{ runner.os }}-composer-${{ matrix.prefer }}-${{ hashFiles('**/composer.lock') }}
|
|
720
732
|
restore-keys: ${{ runner.os }}-composer-${{ matrix.prefer }}-
|
|
721
733
|
```
|
|
722
734
|
|
|
@@ -728,7 +740,7 @@ If you have a number of workflows which set up multiple tools or have many compo
|
|
|
728
740
|
- name: Setup PHP
|
|
729
741
|
uses: shivammathur/setup-php@v2
|
|
730
742
|
with:
|
|
731
|
-
php-version: '8.
|
|
743
|
+
php-version: '8.1'
|
|
732
744
|
env:
|
|
733
745
|
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
734
746
|
```
|
|
@@ -743,7 +755,7 @@ Put the code in the run property of a step and specify the shell as `php {0}`.
|
|
|
743
755
|
- name: Setup PHP
|
|
744
756
|
uses: shivammathur/setup-php@v2
|
|
745
757
|
with:
|
|
746
|
-
php-version: '8.
|
|
758
|
+
php-version: '8.1'
|
|
747
759
|
|
|
748
760
|
- name: Run PHP code
|
|
749
761
|
shell: php {0}
|
|
@@ -783,7 +795,7 @@ PHPStan supports error reporting in GitHub Actions, so it does not require probl
|
|
|
783
795
|
- name: Setup PHP
|
|
784
796
|
uses: shivammathur/setup-php@v2
|
|
785
797
|
with:
|
|
786
|
-
php-version: '8.
|
|
798
|
+
php-version: '8.1'
|
|
787
799
|
tools: phpstan
|
|
788
800
|
|
|
789
801
|
- name: Run PHPStan
|
|
@@ -798,7 +810,7 @@ Psalm supports error reporting in GitHub Actions with an output format `github`.
|
|
|
798
810
|
- name: Setup PHP
|
|
799
811
|
uses: shivammathur/setup-php@v2
|
|
800
812
|
with:
|
|
801
|
-
php-version: '8.
|
|
813
|
+
php-version: '8.1'
|
|
802
814
|
tools: psalm
|
|
803
815
|
|
|
804
816
|
- name: Run Psalm
|
|
@@ -816,7 +828,7 @@ For examples refer to [cs2pr documentation](https://github.com/staabm/annotate-p
|
|
|
816
828
|
- name: Setup PHP
|
|
817
829
|
uses: shivammathur/setup-php@v2
|
|
818
830
|
with:
|
|
819
|
-
php-version: '8.
|
|
831
|
+
php-version: '8.1'
|
|
820
832
|
tools: cs2pr, phpcs
|
|
821
833
|
|
|
822
834
|
- name: Run phpcs
|
|
@@ -827,37 +839,38 @@ For examples refer to [cs2pr documentation](https://github.com/staabm/annotate-p
|
|
|
827
839
|
|
|
828
840
|
Examples of using `setup-php` with various PHP Frameworks and Packages.
|
|
829
841
|
|
|
830
|
-
|Framework/Package|Runs on|Workflow|
|
|
831
|
-
|
|
832
|
-
|Blackfire
|
|
833
|
-
|Blackfire Player
|
|
834
|
-
|CakePHP with `MySQL` and `Redis
|
|
835
|
-
|CakePHP with `PostgreSQL` and `Redis
|
|
836
|
-
|CakePHP without services
|
|
837
|
-
|CodeIgniter
|
|
838
|
-
|
|
|
839
|
-
|Laravel with `
|
|
840
|
-
|Laravel
|
|
841
|
-
|
|
|
842
|
-
|Lumen with `
|
|
843
|
-
|Lumen
|
|
844
|
-
|
|
|
845
|
-
|Phalcon with `
|
|
846
|
-
|
|
|
847
|
-
|Roots/
|
|
848
|
-
|
|
|
849
|
-
|
|
|
850
|
-
|Symfony with `
|
|
851
|
-
|Symfony
|
|
852
|
-
|
|
|
853
|
-
|Yii2 Starter Kit with `
|
|
854
|
-
|
|
|
842
|
+
| Framework/Package | Runs on | Workflow |
|
|
843
|
+
|----------------------------------------|---------------------------------|---------------------------------------------------------------------------------------------------------------|
|
|
844
|
+
| Blackfire | `macOS`, `ubuntu` and `windows` | [blackfire.yml](./examples/blackfire.yml "GitHub Action using Blackfire") |
|
|
845
|
+
| Blackfire Player | `macOS`, `ubuntu` and `windows` | [blackfire-player.yml](./examples/blackfire-player.yml "GitHub Action using Blackfire Player") |
|
|
846
|
+
| CakePHP with `MySQL` and `Redis` | `ubuntu` | [cakephp-mysql.yml](./examples/cakephp-mysql.yml "GitHub Action for CakePHP with MySQL and Redis") |
|
|
847
|
+
| CakePHP with `PostgreSQL` and `Redis` | `ubuntu` | [cakephp-postgres.yml](./examples/cakephp-postgres.yml "GitHub Action for CakePHP with Postgres and Redis") |
|
|
848
|
+
| CakePHP without services | `macOS`, `ubuntu` and `windows` | [cakephp.yml](./examples/cakephp.yml "GitHub Action for CakePHP without services") |
|
|
849
|
+
| CodeIgniter | `macOS`, `ubuntu` and `windows` | [codeigniter.yml](./examples/codeigniter.yml "GitHub Action for CodeIgniter") |
|
|
850
|
+
| Laminas MVC | `macOS`, `ubuntu` and `windows` | [laminas-mvc.yml](./examples/laminas-mvc.yml "GitHub Action for Laminas Framework MVC Projects") |
|
|
851
|
+
| Laravel with `MySQL` and `Redis` | `ubuntu` | [laravel-mysql.yml](./examples/laravel-mysql.yml "GitHub Action for Laravel with MySQL and Redis") |
|
|
852
|
+
| Laravel with `PostgreSQL` and `Redis` | `ubuntu` | [laravel-postgres.yml](./examples/laravel-postgres.yml "GitHub Action for Laravel with PostgreSQL and Redis") |
|
|
853
|
+
| Laravel without services | `macOS`, `ubuntu` and `windows` | [laravel.yml](./examples/laravel.yml "GitHub Action for Laravel without services") |
|
|
854
|
+
| Lumen with `MySQL` and `Redis` | `ubuntu` | [lumen-mysql.yml](./examples/lumen-mysql.yml "GitHub Action for Lumen with MySQL and Redis") |
|
|
855
|
+
| Lumen with `PostgreSQL` and `Redis` | `ubuntu` | [lumen-postgres.yml](./examples/lumen-postgres.yml "GitHub Action for Lumen with PostgreSQL and Redis") |
|
|
856
|
+
| Lumen without services | `macOS`, `ubuntu` and `windows` | [lumen.yml](./examples/lumen.yml "GitHub Action for Lumen without services") |
|
|
857
|
+
| Phalcon with `MySQL` | `ubuntu` | [phalcon-mysql.yml](./examples/phalcon-mysql.yml "GitHub Action for Phalcon with MySQL") |
|
|
858
|
+
| Phalcon with `PostgreSQL` | `ubuntu` | [phalcon-postgres.yml](./examples/phalcon-postgres.yml "GitHub Action for Phalcon with PostgreSQL") |
|
|
859
|
+
| Roots/bedrock | `ubuntu` | [bedrock.yml](./examples/bedrock.yml "GitHub Action for Wordpress Development using @roots/bedrock") |
|
|
860
|
+
| Roots/sage | `ubuntu` | [sage.yml](./examples/sage.yml "GitHub Action for Wordpress Development using @roots/sage") |
|
|
861
|
+
| Slim Framework | `macOS`, `ubuntu` and `windows` | [slim-framework.yml](./examples/slim-framework.yml "GitHub Action for Slim Framework") |
|
|
862
|
+
| Symfony with `MySQL` | `ubuntu` | [symfony-mysql.yml](./examples/symfony-mysql.yml "GitHub Action for Symfony with MySQL") |
|
|
863
|
+
| Symfony with `PostgreSQL` | `ubuntu` | [symfony-postgres.yml](./examples/symfony-postgres.yml "GitHub Action for Symfony with PostgreSQL") |
|
|
864
|
+
| Symfony without services | `macOS`, `ubuntu` and `windows` | [symfony.yml](./examples/symfony.yml "GitHub Action for Symfony without services") |
|
|
865
|
+
| Yii2 Starter Kit with `MySQL` | `ubuntu` | [yii2-mysql.yml](./examples/yii2-mysql.yml "GitHub Action for Yii2 Starter Kit with MySQL") |
|
|
866
|
+
| Yii2 Starter Kit with `PostgreSQL` | `ubuntu` | [yii2-postgres.yml](./examples/yii2-postgres.yml "GitHub Action for Yii2 Starter Kit with PostgreSQL") |
|
|
855
867
|
|
|
856
868
|
## :bookmark: Versioning
|
|
857
869
|
|
|
858
|
-
- Use the `v2` tag as `setup-php` version. It is a rolling tag and is synced with the latest minor and patch releases. With `v2` you automatically get the bug fixes, security patches, new features and support for latest PHP releases.
|
|
870
|
+
- Use the `v2` tag as `setup-php` version. It is a rolling tag and is synced with the latest minor and patch releases. With `v2` you automatically get the bug fixes, security patches, new features and support for latest PHP releases.
|
|
859
871
|
- Semantic release versions can also be used. It is recommended to [use dependabot](https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-github-dependabot "Setup Dependabot with GitHub Actions") with semantic versioning to keep the actions in your workflows up to date.
|
|
860
|
-
- Commit SHA can also be used, but are not recommended. They have to be updated with every release manually, without which you will not get any bug fixes, security patches or new features.
|
|
872
|
+
- Commit SHA can also be used, but are not recommended. They have to be updated with every release manually, without which you will not get any bug fixes, security patches or new features.
|
|
873
|
+
- For debugging any issues `verbose` tag can be used temporarily. It outputs all the logs and is also synced with the latest releases.
|
|
861
874
|
- It is highly discouraged to use the `master` branch as version, it might break your workflow after major releases as they have breaking changes.
|
|
862
875
|
- If you are using the `v1` tag or a `1.x.y` version, you should [switch to v2](https://github.com/shivammathur/setup-php/wiki/Switch-to-v2 "Guide for switching from setup-php v1 to v2") as `v1` only gets critical bug fixes. Maintenance support for `v1` will be dropped with the last `PHP 8.0` release.
|
|
863
876
|
|
|
@@ -884,25 +897,29 @@ Examples of using `setup-php` with various PHP Frameworks and Packages.
|
|
|
884
897
|
|
|
885
898
|
## :sparkling_heart: Support This Project
|
|
886
899
|
|
|
887
|
-
- Please star the project and share it. If you blog, please share your experience of using
|
|
888
|
-
- Please sponsor setup-php using [GitHub sponsors](https://github.com/sponsors/shivammathur).
|
|
900
|
+
- Please star the project and share it. If you blog, please share your experience of using `setup-php`.
|
|
889
901
|
- Please [reach out](mailto:contact@setup-php.com) if you have any questions about sponsoring setup-php.
|
|
890
902
|
|
|
891
|
-
|
|
903
|
+
Many users and organisations support setup-php via [GitHub Sponsors](https://github.com/sponsors/shivammathur).
|
|
892
904
|
|
|
893
|
-
|
|
905
|
+
<a href="https://github.com/sponsors/shivammathur"><img src="https://setup-php.com/sponsors.svg?" alt="Sponsor shivammathur"></a>
|
|
894
906
|
|
|
895
|
-
|
|
896
|
-
<a href="https://setup-php.com/sponsors-corp/?">
|
|
897
|
-
<img src="https://setup-php.com/sponsors-corp/?" alt="Corporate sponsors of setup-php and related projects" width="100%">
|
|
898
|
-
</a>
|
|
899
|
-
</p>
|
|
900
|
-
|
|
901
|
-
### Individual Sponsors
|
|
907
|
+
These companies generously provide setup-php their products and services to aid in the development of this project.
|
|
902
908
|
|
|
903
|
-
<p
|
|
904
|
-
<a href="https://setup-php
|
|
905
|
-
<img src="https://setup-php.com/sponsors
|
|
909
|
+
<p>
|
|
910
|
+
<a href="https://www.jetbrains.com/?from=setup-php">
|
|
911
|
+
<img src="https://setup-php.com/sponsors/jetbrains.svg" alt="JetBrains" width="106" height="60">
|
|
912
|
+
</a>
|
|
913
|
+
|
|
914
|
+
<a href="https://www.macstadium.com/opensource/members#gh-light-mode-only">
|
|
915
|
+
<img src="https://setup-php.com/sponsors/macstadium.png" alt="Mac Stadium" width="148" height="60">
|
|
916
|
+
</a>
|
|
917
|
+
<a href="https://www.macstadium.com/opensource/members#gh-dark-mode-only">
|
|
918
|
+
<img src="https://setup-php.com/sponsors/macstadium-white.png" alt="Mac Stadium" width="148" height="60">
|
|
919
|
+
</a>
|
|
920
|
+
|
|
921
|
+
<a href="https://tidelift.com/subscription/pkg/npm-setup-php">
|
|
922
|
+
<img src="https://setup-php.com/sponsors/tidelift.png" alt="Tidelift" width="70" height="60">
|
|
906
923
|
</a>
|
|
907
924
|
</p>
|
|
908
925
|
|
|
@@ -934,6 +951,7 @@ Examples of using `setup-php` with various PHP Frameworks and Packages.
|
|
|
934
951
|
[`behat`]: https://docs.behat.org/en/latest/
|
|
935
952
|
[`blackfire`]: https://blackfire.io/docs/php/index
|
|
936
953
|
[`blackfire-player`]: https://blackfire.io/docs/builds-cookbooks/player
|
|
954
|
+
[`churn`]: https://github.com/bmitch/churn-php
|
|
937
955
|
[`codeception`]: https://codeception.com/
|
|
938
956
|
[`composer`]: https://getcomposer.org/
|
|
939
957
|
[`composer-normalize`]: https://github.com/ergebnis/composer-normalize
|