Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[11.x] PHP 8.4 build #52633

Draft
wants to merge 47 commits into
base: 11.x
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
ef63fca
PHP 8.4 build
driesvints Sep 3, 2024
05182f8
wip
driesvints Sep 3, 2024
1aefe67
wip
driesvints Sep 3, 2024
f1c8683
[php84] Fix some deprecations and lower requirements (#52636)
Jubeki Sep 4, 2024
a156002
[php84] Update dependencies (#52637)
Jubeki Sep 5, 2024
995424c
wip
crynobone Sep 20, 2024
826e344
wip
crynobone Sep 20, 2024
62dfb98
wip
crynobone Sep 20, 2024
89b2d85
wip
crynobone Sep 20, 2024
ee12b1f
wip
crynobone Sep 20, 2024
1c9430c
wip
crynobone Sep 20, 2024
3ae016e
wip
crynobone Sep 20, 2024
1c52908
wip
crynobone Sep 20, 2024
37f90f3
Merge branch '11.x' into php84
crynobone Sep 20, 2024
4db4e13
wip
crynobone Sep 20, 2024
9ad834c
Merge remote-tracking branch 'upstream/php84' into php84
crynobone Sep 20, 2024
9435367
wip
crynobone Sep 23, 2024
348d2d5
wip
crynobone Sep 23, 2024
b225b78
Apply fixes from StyleCI
StyleCIBot Sep 23, 2024
fcab092
wip
crynobone Sep 23, 2024
84dee0a
Merge remote-tracking branch 'upstream/php84' into php84
crynobone Sep 23, 2024
eda47ac
Apply fixes from StyleCI
StyleCIBot Sep 23, 2024
f358fad
wip
crynobone Sep 23, 2024
1300d12
wip
crynobone Sep 24, 2024
e4e5e30
wip
crynobone Sep 24, 2024
542da1e
Merge branch '11.x' into php84
crynobone Sep 25, 2024
c2e888f
Merge branch '11.x' into php84
crynobone Oct 3, 2024
f87fcda
wip
crynobone Oct 3, 2024
105e496
[PHP84] Bump aws/aws-sdk-php for PHP 8.4 (#53021)
Jubeki Oct 3, 2024
0b1e1a8
wip
crynobone Oct 4, 2024
7593b9e
wip
crynobone Oct 4, 2024
097f9ce
wip
crynobone Oct 4, 2024
3667a2e
wip
crynobone Oct 4, 2024
634d214
wip
crynobone Oct 4, 2024
3b7a723
wip
crynobone Oct 4, 2024
509ff73
wip
crynobone Oct 4, 2024
e445003
wip
crynobone Oct 4, 2024
4192402
Update tests.yml
crynobone Oct 4, 2024
bca3d03
Revert "Update tests.yml"
crynobone Oct 4, 2024
ca6704b
wip
crynobone Oct 4, 2024
9896568
wip
crynobone Oct 4, 2024
201f600
wip
crynobone Oct 4, 2024
49e97d3
wip
crynobone Oct 4, 2024
0a84ba2
wip
crynobone Oct 4, 2024
abbd05e
wip
crynobone Oct 6, 2024
ae5c2cc
Merge remote-tracking branch 'upstream/11.x' into php84
crynobone Oct 9, 2024
33e854f
wip
crynobone Oct 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/databases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
branches:
- master
- '*.x'
pull_request:
# pull_request:

jobs:
mysql_57:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/queues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
branches:
- master
- '*.x'
pull_request:
# pull_request:

jobs:
sync:
Expand Down
155 changes: 79 additions & 76 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ jobs:
- 8888:8000

strategy:
fail-fast: true
fail-fast: false
matrix:
php: [8.2, 8.3]
phpunit: ['10.5', '11.0.1']
php: [8.4]
phpunit: ['10.5.12', '11.3.2']
stability: [prefer-lowest, prefer-stable]

name: PHP ${{ matrix.php }} - PHPUnit ${{ matrix.phpunit }} - ${{ matrix.stability }}
Expand All @@ -53,7 +53,7 @@ jobs:
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, gd, redis, igbinary, msgpack, lzf, zstd, lz4, memcached, gmp, :php-psr
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, gd, redis-6.1.0RC2, igbinary, msgpack, lzf, zstd, lz4, memcached, gmp, :php-psr
ini-values: error_reporting=E_ALL
tools: composer:v2
coverage: none
Expand All @@ -71,22 +71,25 @@ jobs:
max_attempts: 5
command: composer require guzzlehttp/psr7:^2.4 --no-interaction --no-update

- name: Set PHPUnit
- name: Set minimum PHP 8.4 versions
uses: nick-fields/retry@v3
with:
timeout_minutes: 5
max_attempts: 5
command: composer require phpunit/phpunit:^${{ matrix.phpunit }} --dev --no-interaction --no-update
command: composer require "nesbot/carbon:^3.4" "guzzlehttp/promises:^2.0.3" "symfony/contracts:^3.4.2" "symfony/string:^7.0.3" "symfony/translation:^7.0.3" "mtdowling/jmespath.php:^2.8.0" "league/mime-type-detection:^1.16.0" --no-interaction --no-update

- name: Install dependencies
uses: nick-fields/retry@v3
with:
timeout_minutes: 5
max_attempts: 5
command: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress
command: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress --with=phpunit/phpunit:^${{ matrix.phpunit }}

- name: Installed dependencies
run: composer show -D

- name: Execute tests
run: vendor/bin/phpunit --display-deprecation
run: vendor/bin/phpunit --display-deprecation --fail-on-deprecation
env:
DB_PORT: ${{ job.services.mysql.ports[3306] }}
DB_USERNAME: root
Expand All @@ -103,71 +106,71 @@ jobs:
vendor/orchestra/testbench-core/laravel/storage/logs
!vendor/**/.gitignore

windows_tests:
runs-on: windows-2022

strategy:
fail-fast: true
matrix:
php: [8.2, 8.3]
phpunit: ['10.5', '11.0.1']
stability: [prefer-lowest, prefer-stable]

name: PHP ${{ matrix.php }} - PHPUnit ${{ matrix.phpunit }} - ${{ matrix.stability }} - Windows

steps:
- name: Set git to use LF
run: |
git config --global core.autocrlf false
git config --global core.eol lf

- name: Checkout code
uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pdo, sqlite, pdo_sqlite, gd, pdo_mysql, fileinfo, ftp, redis, memcached, gmp, intl, :php-psr
tools: composer:v2
coverage: none

- name: Set Framework version
run: composer config version "11.x-dev"

- name: Set Minimum PHP 8.2 Versions
uses: nick-fields/retry@v3
with:
timeout_minutes: 5
max_attempts: 5
command: composer require guzzlehttp/psr7:^2.4 --no-interaction --no-update
shell: bash

- name: Set PHPUnit
uses: nick-fields/retry@v3
with:
timeout_minutes: 5
max_attempts: 5
command: composer require phpunit/phpunit:^${{ matrix.phpunit }} --dev --no-interaction --no-update
shell: bash

- name: Install dependencies
uses: nick-fields/retry@v3
with:
timeout_minutes: 5
max_attempts: 5
command: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress

- name: Execute tests
run: vendor/bin/phpunit
env:
AWS_ACCESS_KEY_ID: random_key
AWS_SECRET_ACCESS_KEY: random_secret

- name: Store artifacts
uses: actions/upload-artifact@v4
with:
name: windows-logs-${{ matrix.php }}-${{ matrix.phpunit }}-${{ matrix.stability }}
path: |
vendor/orchestra/testbench-core/laravel/storage/logs
!vendor/**/.gitignore
# windows_tests:
# runs-on: windows-2022

# strategy:
# fail-fast: true
# matrix:
# php: [8.2, 8.3]
# phpunit: ['10.5', '11.0.1']
# stability: [prefer-lowest, prefer-stable]

# name: PHP ${{ matrix.php }} - PHPUnit ${{ matrix.phpunit }} - ${{ matrix.stability }} - Windows

# steps:
# - name: Set git to use LF
# run: |
# git config --global core.autocrlf false
# git config --global core.eol lf

# - name: Checkout code
# uses: actions/checkout@v4

# - name: Setup PHP
# uses: shivammathur/setup-php@v2
# with:
# php-version: ${{ matrix.php }}
# extensions: dom, curl, libxml, mbstring, zip, pdo, sqlite, pdo_sqlite, gd, pdo_mysql, fileinfo, ftp, redis, memcached, gmp, intl, :php-psr
# tools: composer:v2
# coverage: none

# - name: Set Framework version
# run: composer config version "11.x-dev"

# - name: Set Minimum PHP 8.2 Versions
# uses: nick-fields/retry@v3
# with:
# timeout_minutes: 5
# max_attempts: 5
# command: composer require guzzlehttp/psr7:^2.4 --no-interaction --no-update
# shell: bash

# - name: Set PHPUnit
# uses: nick-fields/retry@v3
# with:
# timeout_minutes: 5
# max_attempts: 5
# command: composer require phpunit/phpunit:^${{ matrix.phpunit }} --dev --no-interaction --no-update
# shell: bash

# - name: Install dependencies
# uses: nick-fields/retry@v3
# with:
# timeout_minutes: 5
# max_attempts: 5
# command: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress

# - name: Execute tests
# run: vendor/bin/phpunit
# env:
# AWS_ACCESS_KEY_ID: random_key
# AWS_SECRET_ACCESS_KEY: random_secret

# - name: Store artifacts
# uses: actions/upload-artifact@v4
# with:
# name: windows-logs-${{ matrix.php }}-${{ matrix.phpunit }}-${{ matrix.stability }}
# path: |
# vendor/orchestra/testbench-core/laravel/storage/logs
# !vendor/**/.gitignore
78 changes: 40 additions & 38 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,36 +26,37 @@
"composer-runtime-api": "^2.2",
"brick/math": "^0.9.3|^0.10.2|^0.11|^0.12",
"doctrine/inflector": "^2.0.5",
"dragonmantank/cron-expression": "^3.3.2",
"dragonmantank/cron-expression": "^3.4",
"egulias/email-validator": "^3.2.1|^4.0",
"fruitcake/php-cors": "^1.3",
"guzzlehttp/guzzle": "^7.8",
"guzzlehttp/guzzle": "^7.8.2",
"guzzlehttp/uri-template": "^1.0",
"laravel/prompts": "^0.1.18|^0.2.0|^0.3.0",
"laravel/serializable-closure": "^1.3",
"league/commonmark": "^2.2.1",
"league/flysystem": "^3.8.0",
"league/flysystem": "^3.25.1",
"league/flysystem-local": "^3.25.1",
"monolog/monolog": "^3.0",
"nesbot/carbon": "^2.72.2|^3.0",
"nesbot/carbon": "^2.72.2|^3.4",
"nunomaduro/termwind": "^2.0",
"psr/container": "^1.1.1|^2.0.1",
"psr/log": "^1.0|^2.0|^3.0",
"psr/simple-cache": "^1.0|^2.0|^3.0",
"ramsey/uuid": "^4.7",
"symfony/console": "^7.0",
"symfony/error-handler": "^7.0",
"symfony/finder": "^7.0",
"symfony/http-foundation": "^7.0",
"symfony/http-kernel": "^7.0",
"symfony/mailer": "^7.0",
"symfony/mime": "^7.0",
"symfony/polyfill-php83": "^1.28",
"symfony/process": "^7.0",
"symfony/routing": "^7.0",
"symfony/uid": "^7.0",
"symfony/var-dumper": "^7.0",
"symfony/console": "^7.0.3",
"symfony/error-handler": "^7.0.3",
"symfony/finder": "^7.0.3",
"symfony/http-foundation": "^7.0.3",
"symfony/http-kernel": "^7.0.3",
"symfony/mailer": "^7.0.3",
"symfony/mime": "^7.0.3",
"symfony/polyfill-php83": "^1.30",
"symfony/process": "^7.0.3",
"symfony/routing": "^7.0.3",
"symfony/uid": "^7.0.3",
"symfony/var-dumper": "^7.0.3",
"tijsverkoyen/css-to-inline-styles": "^2.2.5",
"vlucas/phpdotenv": "^5.4.1",
"vlucas/phpdotenv": "^5.6.1",
"voku/portable-ascii": "^2.0"
},
"replace": {
Expand Down Expand Up @@ -98,24 +99,25 @@
"require-dev": {
"ext-gmp": "*",
"ably/ably-php": "^1.0",
"aws/aws-sdk-php": "^3.235.5",
"aws/aws-sdk-php": "^3.322.9",
"fakerphp/faker": "^1.23",
"league/flysystem-aws-s3-v3": "^3.0",
"league/flysystem-ftp": "^3.0",
"league/flysystem-path-prefixing": "^3.3",
"league/flysystem-read-only": "^3.3",
"league/flysystem-sftp-v3": "^3.0",
"mockery/mockery": "^1.6",
"league/flysystem-aws-s3-v3": "^3.25.1",
"league/flysystem-ftp": "^3.25.1",
"league/flysystem-path-prefixing": "^3.25.1",
"league/flysystem-read-only": "^3.25.1",
"league/flysystem-sftp-v3": "^3.25.1",
"mockery/mockery": "^1.6.10",
"nyholm/psr7": "^1.2",
"orchestra/testbench-core": "^9.5",
"pda/pheanstalk": "^5.0",
"orchestra/testbench-core": "dev-php84",
"pda/pheanstalk": "^5.0.6",
"phpstan/phpstan": "^1.11.5",
"phpunit/phpunit": "^10.5|^11.0",
"predis/predis": "^2.0.2",
"phpunit/phpunit": "^10.5.35|^11.3.6",
"predis/predis": "v2.x-dev",
"resend/resend-php": "^0.10.0",
"symfony/cache": "^7.0",
"symfony/http-client": "^7.0",
"symfony/psr-http-message-bridge": "^7.0"
"symfony/cache": "^7.0.3",
"symfony/http-client": "^7.0.3",
"symfony/psr-http-message-bridge": "^7.0.3",
"nette/schema": "^1.3.1"
},
"conflict": {
"mockery/mockery": "1.6.8",
Expand Down Expand Up @@ -169,21 +171,21 @@
"ext-posix": "Required to use all features of the queue worker.",
"ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).",
"ably/ably-php": "Required to use the Ably broadcast driver (^1.0).",
"aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).",
"aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.322.9).",
"brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).",
"fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
"filp/whoops": "Required for friendly error pages in development (^2.14.3).",
"laravel/tinker": "Required to use the tinker console command (^2.0).",
"league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).",
"league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).",
"league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).",
"league/flysystem-read-only": "Required to use read-only disks (^3.3)",
"league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).",
"league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).",
"league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.25.1).",
"league/flysystem-path-prefixing": "Required to use the scoped driver (^3.25.1).",
"league/flysystem-read-only": "Required to use read-only disks (^3.25.1)",
"league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.25.1).",
"mockery/mockery": "Required to use mocking (^1.6).",
"nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).",
"pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).",
"phpunit/phpunit": "Required to use assertions and run tests (^10.5|^11.0).",
"predis/predis": "Required to use the predis connector (^2.0.2).",
"predis/predis": "Required to use the predis connector (^2.2.0).",
"psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
"pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).",
"resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).",
Expand Down
6 changes: 3 additions & 3 deletions src/Illuminate/Console/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@
"illuminate/view": "^11.0",
"laravel/prompts": "^0.1.18|^0.2.0",
"nunomaduro/termwind": "^2.0",
"symfony/console": "^7.0",
"symfony/polyfill-php83": "^1.28",
"symfony/process": "^7.0"
"symfony/console": "^7.0.3",
"symfony/polyfill-php83": "^1.30",
"symfony/process": "^7.0.3"
},
"autoload": {
"psr-4": {
Expand Down
4 changes: 2 additions & 2 deletions src/Illuminate/Cookie/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
"illuminate/contracts": "^11.0",
"illuminate/macroable": "^11.0",
"illuminate/support": "^11.0",
"symfony/http-foundation": "^7.0",
"symfony/http-kernel": "^7.0"
"symfony/http-foundation": "^7.0.3",
"symfony/http-kernel": "^7.0.3"
},
"autoload": {
"psr-4": {
Expand Down
10 changes: 5 additions & 5 deletions src/Illuminate/Filesystem/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"illuminate/contracts": "^11.0",
"illuminate/macroable": "^11.0",
"illuminate/support": "^11.0",
"symfony/finder": "^7.0"
"symfony/finder": "^7.0.3"
},
"autoload": {
"psr-4": {
Expand All @@ -39,10 +39,10 @@
"ext-ftp": "Required to use the Flysystem FTP driver.",
"ext-hash": "Required to use the Filesystem class.",
"illuminate/http": "Required for handling uploaded files (^7.0).",
"league/flysystem": "Required to use the Flysystem local driver (^3.0.16).",
"league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).",
"league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).",
"league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).",
"league/flysystem": "Required to use the Flysystem local driver (^3.25.1).",
"league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).",
"league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.25.1).",
"league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.25.1).",
"psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
"symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).",
"symfony/mime": "Required to enable support for guessing extensions (^7.0)."
Expand Down
Loading
Loading