Mark PHP 8.3 as stable

This commit is contained in:
Shivam Mathur 2023-11-23 17:12:56 +05:30
parent e6d44f159a
commit 7c6c249257
No known key found for this signature in database
GPG Key ID: 3E13E4C8591ACC2A
10 changed files with 63 additions and 61 deletions

3
.github/SECURITY.md vendored
View File

@ -10,10 +10,9 @@ This security policy only applies to the latest patches of the following PHP ver
| Version | Supported |
|---------|--------------------|
| 7.4 | :white_check_mark: |
| 8.0 | :white_check_mark: |
| 8.1 | :white_check_mark: |
| 8.2 | :white_check_mark: |
| 8.3 | :white_check_mark: |
## Reporting a Vulnerability

View File

@ -116,14 +116,14 @@ On all supported OS/Platforms the following PHP versions can be set up as per th
| `7.2` | `Stable` | `End of life` | `GitHub-hosted`, `self-hosted` |
| `7.3` | `Stable` | `End of life` | `GitHub-hosted`, `self-hosted` |
| `7.4` | `Stable` | `End of life` | `GitHub-hosted`, `self-hosted` |
| `8.0` | `Stable` | `Security fixes only` | `GitHub-hosted`, `self-hosted` |
| `8.1` | `Stable` | `Active` | `GitHub-hosted`, `self-hosted` |
| `8.0` | `Stable` | `End of life` | `GitHub-hosted`, `self-hosted` |
| `8.1` | `Stable` | `Security fixes only` | `GitHub-hosted`, `self-hosted` |
| `8.2` | `Stable` | `Active` | `GitHub-hosted`, `self-hosted` |
| `8.3` | `Nightly` | `In development` | `GitHub-hosted`, `self-hosted` |
| `8.4` | `Nightly` | `In development` | `GitHub-hosted`, `self-hosted` |
**Notes:**
- Specifying `8.3` and `8.4` in `php-version` input installs a nightly build of `PHP 8.3.0-dev` and `PHP 8.4.0-dev` respectively. See [nightly build setup](#nightly-build-setup) for more information.
- Specifying `8.4` in `php-version` input installs a nightly build of `PHP 8.4.0-dev`. See [nightly build setup](#nightly-build-setup) for more information.
- To use JIT on `PHP 8.0` and above, refer to the [JIT configuration](#jit-configuration) section.
## :heavy_plus_sign: PHP Extension Support
@ -136,7 +136,7 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
- name: Setup PHP with PECL extension
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
extensions: imagick, swoole
```
@ -164,7 +164,7 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
- name: Setup PHP with pre-release PECL extension
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
extensions: xdebug-beta
```
@ -176,7 +176,7 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
- name: Setup PHP and disable opcache
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
extensions: :opcache
```
@ -188,7 +188,7 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
- name: Setup PHP without any shared extensions except mbstring
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
extensions: none, mbstring
```
@ -198,7 +198,7 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
- name: Setup PHP with intl
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
extensions: intl-70.1
```
@ -215,7 +215,7 @@ PHP extensions can be set up using the `extensions` input. It accepts a `string`
- name: Setup PHP with fail-fast
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
extensions: oci8
env:
fail-fast: true
@ -231,7 +231,7 @@ These tools can be set up globally using the `tools` input. It accepts a string
- name: Setup PHP with tools
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
tools: php-cs-fixer, phpunit
```
@ -241,7 +241,7 @@ These tools can be set up globally using the `tools` input. It accepts a string
- name: Setup PHP with tools
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
tools: vimeo/psalm
```
@ -261,8 +261,8 @@ These tools can be set up globally using the `tools` input. It accepts a string
- name: Setup PHP with tools
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
tools: php-cs-fixer:3.5, phpunit:9.5
php-version: '8.3'
tools: php-cs-fixer:3.39, phpunit:10.4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```
@ -273,7 +273,7 @@ These tools can be set up globally using the `tools` input. It accepts a string
- name: Setup PHP with composer v2
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
tools: composer:v2
```
@ -283,7 +283,7 @@ These tools can be set up globally using the `tools` input. It accepts a string
- name: Setup PHP without composer
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
tools: none
```
@ -299,7 +299,7 @@ These tools can be set up globally using the `tools` input. It accepts a string
- name: Setup PHP with fail-fast
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
tools: deployer
env:
fail-fast: true
@ -322,7 +322,7 @@ Runs on all [PHP versions supported](#tada-php-support "List of PHP versions sup
- name: Setup PHP with Xdebug
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
coverage: xdebug
```
@ -350,7 +350,7 @@ Runs on PHP 7.1 and newer PHP versions.
- name: Setup PHP with PCOV
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
ini-values: pcov.directory=api #optional, see above for usage.
coverage: pcov
```
@ -380,7 +380,7 @@ Disable coverage for these reasons:
- name: Setup PHP with no coverage driver
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
coverage: none
```
@ -453,7 +453,7 @@ On GitHub Actions you can assign the `setup-php` step an `id`, you can use the s
id: setup-php
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
- name: Print PHP version
run: echo ${{ steps.setup-php.outputs.php-version }}
@ -495,7 +495,7 @@ steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
extensions: mbstring, intl
ini-values: post_max_size=256M, max_execution_time=180
coverage: xdebug
@ -534,7 +534,7 @@ jobs:
### Nightly Build Setup
> Set up a nightly build of `PHP 8.3` or `PHP 8.4`.
> Set up a nightly build of `PHP 8.4`.
- These PHP versions are currently in active development and might contain bugs and breaking changes.
- Some user space extensions might not support this version currently.
@ -544,7 +544,7 @@ steps:
- name: Setup nightly PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
php-version: '8.4'
extensions: mbstring
ini-values: post_max_size=256M, max_execution_time=180
coverage: xdebug
@ -563,7 +563,7 @@ steps:
- name: Setup PHP with debugging symbols
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
env:
debug: true # specify true or false
```
@ -585,7 +585,7 @@ jobs:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
env:
phpts: ts # specify ts or nts
```
@ -602,7 +602,7 @@ jobs:
- name: Setup PHP with latest versions
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
env:
update: true # specify true or false
```
@ -617,14 +617,14 @@ To debug any issues, you can use the `verbose` tag instead of `v2`.
- name: Setup PHP with logs
uses: shivammathur/setup-php@verbose
with:
php-version: '8.2'
php-version: '8.3'
```
### Multi-Arch Setup
> Set up PHP on multiple architecture on Ubuntu GitHub Runners.
- `PHP 5.6` to `PHP 8.2` are supported by `setup-php` on multiple architecture on `Ubuntu`.
- `PHP 5.6` to `PHP 8.3` are supported by `setup-php` on multiple architecture on `Ubuntu`.
- For this, you can use `shivammathur/node` images as containers. These have compatible `Nodejs` installed for `setup-php`.
- Currently, for `ARM` based setup, you will need [self-hosted runners](#self-hosted-setup).
@ -640,7 +640,7 @@ jobs:
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
```
### Self Hosted Setup
@ -662,7 +662,7 @@ jobs:
runs-on: self-hosted
strategy:
matrix:
php-versions: ['5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2']
php-versions: ['5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3']
name: PHP ${{ matrix.php-versions }}
steps:
- name: Setup PHP
@ -690,7 +690,7 @@ jobs:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
```
Run the workflow locally with `act` using [`shivammathur/node`](https://github.com/shivammathur/node-docker "Docker image to run setup-php") docker images.
@ -723,7 +723,7 @@ For example to enable JIT in `tracing` mode with buffer size of `64 MB`.
- name: Setup PHP with JIT in tracing mode
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
coverage: none
ini-values: opcache.enable_cli=1, opcache.jit=tracing, opcache.jit_buffer_size=64M
```
@ -776,7 +776,7 @@ The `COMPOSER_TOKEN` environment variable has been deprecated in favor of `GITHU
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```
@ -789,7 +789,7 @@ If you use Private Packagist for your private composer dependencies, you can set
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
env:
PACKAGIST_TOKEN: ${{ secrets.PACKAGIST_TOKEN }}
```
@ -803,7 +803,7 @@ Please refer to the authentication section in [`composer documentation`](https:/
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
env:
COMPOSER_AUTH_JSON: |
{
@ -826,7 +826,7 @@ Put the code in the run property of a step and specify the shell as `php {0}`.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
- name: Run PHP code
shell: php {0}
@ -866,7 +866,7 @@ PHPStan supports error reporting in GitHub Actions, so it does not require probl
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
tools: phpstan
- name: Run PHPStan
@ -881,7 +881,7 @@ Psalm supports error reporting in GitHub Actions with an output format `github`.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
tools: psalm
- name: Run Psalm
@ -899,7 +899,7 @@ For examples refer to the [cs2pr documentation](https://github.com/staabm/annota
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.3'
tools: cs2pr, phpcs
- name: Run phpcs

6
dist/index.js vendored
View File

@ -249,7 +249,7 @@ async function addExtensionDarwin(extension_csv, version) {
add_script += await utils.parseExtensionSource(extension, ext_prefix);
return;
case /^(7\.4|8\.[0-3])relay(-v?\d+\.\d+\.\d+)?$/.test(version_extension):
case /^(5\.[3-6]|7\.[0-4]|8\.[0-2])blackfire(-\d+\.\d+\.\d+)?$/.test(version_extension):
case /^(5\.[3-6]|7\.[0-4]|8\.[0-3])blackfire(-\d+\.\d+\.\d+)?$/.test(version_extension):
case /^couchbase|^event|^gearman$|^geos$|^pdo_oci$|^oci8$|^(pecl_)?http|^pdo_firebird$/.test(extension):
case /^(5\.[3-6]|7\.[0-4])ioncube$/.test(version_extension):
case /(5\.6|7\.[0-3])phalcon3|7\.[2-4]phalcon4|(7\.4|8\.[0-2])phalcon5/.test(version_extension):
@ -299,7 +299,7 @@ async function addExtensionWindows(extension_csv, version) {
case /^none$/.test(ext_name):
add_script += '\nDisable-AllShared';
break;
case /^(5\.[3-6]|7\.[0-4]|8\.[0-2])blackfire(-\d+\.\d+\.\d+)?$/.test(version_extension):
case /^(5\.[3-6]|7\.[0-4]|8\.[0-3])blackfire(-\d+\.\d+\.\d+)?$/.test(version_extension):
case /^pdo_oci$|^oci8$|^pdo_firebird$/.test(extension):
case /^(5\.[3-6]|7\.[0-4])ioncube$/.test(version_extension):
case /^7\.[0-3]phalcon3$|^7\.[2-4]phalcon4$|^(7\.4|8\.[0-2])phalcon5$/.test(version_extension):
@ -367,7 +367,7 @@ async function addExtensionLinux(extension_csv, version) {
add_script += await utils.parseExtensionSource(extension, ext_prefix);
return;
case /^(7\.4|8\.[0-3])relay(-v?\d+\.\d+\.\d+)?$/.test(version_extension):
case /^(5\.[3-6]|7\.[0-4]|8\.[0-2])blackfire(-\d+\.\d+\.\d+)?$/.test(version_extension):
case /^(5\.[3-6]|7\.[0-4]|8\.[0-3])blackfire(-\d+\.\d+\.\d+)?$/.test(version_extension):
case /^((5\.[3-6])|(7\.[0-2]))pdo_cubrid$|^((5\.[3-6])|(7\.[0-4]))cubrid$/.test(version_extension):
case /^couchbase|^event|^gearman$|^geos$|^pdo_oci$|^oci8$|^(pecl_)?http|^pdo_firebird$/.test(extension):
case /(?<!5\.[3-5])intl-\d+\.\d+$/.test(version_extension):

View File

@ -17,3 +17,6 @@
21.04,hirsute
21.10,impish
22.04,jammy
23.04,lunar
23.10,mantic
24.04,noble

1 8 jessie
17 21.04 hirsute
18 21.10 impish
19 22.04 jammy
20 23.04 lunar
21 23.10 mantic
22 24.04 noble

View File

@ -1,7 +1,7 @@
{
"latest": "8.2",
"nightly": "8.3",
"latest": "8.3",
"nightly": "8.4",
"5.x": "5.6",
"7.x": "7.4",
"8.x": "8.2"
"8.x": "8.3"
}

View File

@ -32,14 +32,14 @@ export async function addExtensionDarwin(
add_script += await utils.parseExtensionSource(extension, ext_prefix);
return;
// match 7.4relay...8.3relay
// match 5.3blackfire...8.2blackfire
// match 5.3blackfire-(semver)...8.1blackfire-(semver)
// match 5.3blackfire...8.3blackfire
// match 5.3blackfire-(semver)...8.3blackfire-(semver)
// match couchbase, event, geos, pdo_oci, oci8, http, pecl_http
// match 5.3ioncube...7.4ioncube
// match 7.0phalcon3...7.3phalcon3, 7.2phalcon4...7.4phalcon4, and 7.4phalcon5...8.2phalcon5
// match 7.0zephir_parser...8.2zephir_parser
case /^(7\.4|8\.[0-3])relay(-v?\d+\.\d+\.\d+)?$/.test(version_extension):
case /^(5\.[3-6]|7\.[0-4]|8\.[0-2])blackfire(-\d+\.\d+\.\d+)?$/.test(
case /^(5\.[3-6]|7\.[0-4]|8\.[0-3])blackfire(-\d+\.\d+\.\d+)?$/.test(
version_extension
):
case /^couchbase|^event|^gearman$|^geos$|^pdo_oci$|^oci8$|^(pecl_)?http|^pdo_firebird$/.test(
@ -134,14 +134,14 @@ export async function addExtensionWindows(
case /^none$/.test(ext_name):
add_script += '\nDisable-AllShared';
break;
// match 5.3blackfire...8.2blackfire
// match 5.3blackfire-(semver)...8.1blackfire-(semver)
// match 5.3blackfire...8.3blackfire
// match 5.3blackfire-(semver)...8.3blackfire-(semver)
// match pdo_oci and oci8
// match 5.3ioncube...7.4ioncube
// match 7.0phalcon3...7.3phalcon3, 7.2phalcon4...7.4phalcon4, and 7.4phalcon5...8.2phalcon5
// match 7.1pecl_http...8.1pecl_http and 7.1http...8.1http
// match 7.0zephir_parser...8.2zephir_parser
case /^(5\.[3-6]|7\.[0-4]|8\.[0-2])blackfire(-\d+\.\d+\.\d+)?$/.test(
case /^(5\.[3-6]|7\.[0-4]|8\.[0-3])blackfire(-\d+\.\d+\.\d+)?$/.test(
version_extension
):
case /^pdo_oci$|^oci8$|^pdo_firebird$/.test(extension):
@ -264,15 +264,15 @@ export async function addExtensionLinux(
add_script += await utils.parseExtensionSource(extension, ext_prefix);
return;
// match 7.4relay...8.3relay
// match 5.3blackfire...8.2blackfire
// match 5.3blackfire-(semver)...8.1blackfire-(semver)
// match 5.3blackfire...8.3blackfire
// match 5.3blackfire-(semver)...8.3blackfire-(semver)
// match 5.3pdo_cubrid...7.2php_cubrid, 5.3cubrid...7.4cubrid
// match couchbase, geos, pdo_oci, oci8, http, pecl_http
// match 5.3ioncube...7.4ioncube
// match 7.0phalcon3...7.3phalcon3, 7.2phalcon4...7.4phalcon4, 7.4phalcon5...8.2phalcon5
// match 7.0zephir_parser...8.2zephir_parser
case /^(7\.4|8\.[0-3])relay(-v?\d+\.\d+\.\d+)?$/.test(version_extension):
case /^(5\.[3-6]|7\.[0-4]|8\.[0-2])blackfire(-\d+\.\d+\.\d+)?$/.test(
case /^(5\.[3-6]|7\.[0-4]|8\.[0-3])blackfire(-\d+\.\d+\.\d+)?$/.test(
version_extension
):
case /^((5\.[3-6])|(7\.[0-2]))pdo_cubrid$|^((5\.[3-6])|(7\.[0-4]))cubrid$/.test(

View File

@ -259,7 +259,7 @@ setup_php() {
}
# Variables
version=${1:-'8.2'}
version=${1:-'8.3'}
ini=${2:-'production'}
src=${0%/*}/..
php_formula=shivammathur/php/php@"$version"

View File

@ -125,9 +125,9 @@ Function Add-Extension {
if(($version -match $nightly_versions) -and (Select-String -Path $src\configs\windows_extensions -Pattern $extension -SimpleMatch -Quiet)) {
Add-NightlyExtension $extension
} else {
# Patch till DLLs for PHP 8.1 and 8.2 are released as stable.
# Patch till DLLs for PHP 8.2 and above are released as stable.
$minimumStability = $stability
if ($version -match '8.[1-2]' -and $stability -eq 'stable') {
if ($version -match '8.[2-4]' -and $stability -eq 'stable') {
$minimumStability = 'snapshot'
}

View File

@ -13,7 +13,7 @@ get_event_configure_opts() {
)
else
event_opts+=(
--with-openssl-dir="$(brew --prefix openssl@1.1)"
--with-openssl-dir="$(brew --prefix openssl@3)"
--with-event-libevent-dir="$(brew --prefix libevent)"
)
fi

View File

@ -272,7 +272,7 @@ setup_php() {
}
# Variables
version=${1:-'8.2'}
version=${1:-'8.3'}
ini=${2:-'production'}
src=${0%/*}/..
debconf_fix="DEBIAN_FRONTEND=noninteractive"