Modernize PHP and Symfony version requirements; add Symfony 8 CI support

- Drop PHP <8.3 and Symfony <7.4 (both EOL), require PHP ^8.3 and symfony/config ^7.4
- Require behat ^3.31 (first version with PHP 8 attribute and PHP config support)
- Upgrade phpspec to ^8.0 (supports PHP 8.5)
- Add symfony/browser-kit and symfony/http-client to dev deps; switch from deprecated goutte driver to browserkit_http
- Update CI matrix: PHP 8.3/8.4/8.5 × Symfony 7.4 + PHP 8.4/8.5 × Symfony 8.0/8.1
- Add Symfony 8+ CI step: override behat to 4.x-dev as 3.31.0
- Restrict push trigger to master branch only (no duplicate runs on PRs)
- Add behat.dist.php for behat 4.x compatibility (PHP config format)
- Update behat.yml.dist to use FQCN extension name (works in both behat 3.x and 4.x)
- Add lock-symfony-version.sh script for pinning Symfony in CI

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kamil Kokot
2026-06-12 13:58:59 +02:00
parent f5bd8e3d1f
commit 9037907f2a
5 changed files with 79 additions and 27 deletions

View File

@@ -21,16 +21,17 @@
],
"homepage": "https://github.com/FriendsOfBehat/MinkExtension#readme",
"require": {
"php": "^7.4 || ^8",
"behat/behat": "^3.0.5",
"php": "^8.3",
"behat/behat": "^3.31",
"behat/mink": "^1.5",
"symfony/config": "^4.4 || ^5.0 || ^6.0 || ^7.0",
"symfony/deprecation-contracts": "^1.0 || ^2.0 || ^3.0"
"symfony/config": "^7.4",
"symfony/deprecation-contracts": "^3.0"
},
"require-dev": {
"behat/mink-goutte-driver": "^1.1 || ^2.0",
"phpspec/phpspec": "^6.0 || ^7.0 || 7.1.x-dev",
"mink/webdriver-classic-driver": "^1.0@dev"
"behat/mink-browserkit-driver": "^2.0",
"phpspec/phpspec": "^8.0",
"symfony/browser-kit": "^7.4",
"symfony/http-client": "^7.4"
},
"replace": {
"behat/mink-extension": "self.version"
@@ -44,5 +45,11 @@
"branch-alias": {
"dev-master": "2.x-dev"
}
},
"scripts": {
"test": [
"vendor/bin/phpspec run -f pretty",
"vendor/bin/behat -fprogress --strict"
]
}
}