From 6ab2b7680ac13953249d99f3a3a5496f29ac281a Mon Sep 17 00:00:00 2001 From: W0rma Date: Fri, 28 Nov 2025 12:12:35 +0100 Subject: [PATCH 1/3] chore(ci): add php 8.5 --- .github/workflows/main.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f19b0fe..acee05b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: - php: [8.1, 8.2, 8.3, 8.4] + php: [8.1, 8.2, 8.3, 8.4, 8.5] steps: - name: Checkout code @@ -21,6 +21,10 @@ jobs: uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} + # this ini directive seems to be off by default in PHP 8.5 + # see https://github.com/php/php-src/issues/20279 + # enable it because codeception relies on it. + ini-values: register_argc_argv=1 - name: Validate composer.json and composer.lock run: composer validate From 9bc2c1b98579924a240c0c47565a11aacf236376 Mon Sep 17 00:00:00 2001 From: W0rma Date: Fri, 28 Nov 2025 12:12:59 +0100 Subject: [PATCH 2/3] chore(ci): bump dependencies --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index acee05b..719853e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,7 +15,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Setup PHP uses: shivammathur/setup-php@v2 From 3695ea162fbcff30f0acebd5cfaf48c3bae8e54f Mon Sep 17 00:00:00 2001 From: W0rma Date: Fri, 28 Nov 2025 12:18:31 +0100 Subject: [PATCH 3/3] fix: use empty string as array key explicitly because using null is deprecated in php 8.5 --- src/Codeception/Lib/InnerBrowser.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Codeception/Lib/InnerBrowser.php b/src/Codeception/Lib/InnerBrowser.php index 20cd4f9..dc11858 100644 --- a/src/Codeception/Lib/InnerBrowser.php +++ b/src/Codeception/Lib/InnerBrowser.php @@ -1054,7 +1054,7 @@ protected function getFormFor(Crawler $node): SymfonyForm $this->fail('The selected node is not a form and does not have a form ancestor.'); } - $identifier = $form->attr('id') ?: $form->attr('action'); + $identifier = $form->attr('id') ?: $form->attr('action') ?? ''; if (!isset($this->forms[$identifier])) { $this->forms[$identifier] = $this->getFormFromCrawler($form); }