Skip to content

Commit ad61b8a

Browse files
authored
⬆️ Upgrade PHP, Node.js, Symfony, and dependencies (#1626)
* Update composer.lock * Recipe doctrine/doctrine-bundle * Recipe symfony/apache-pack * Recipe symfony/flex * Recipe symfony/mailer * Recipe symfony/monolog-bundle * Recipe symfony/phpunit-bridge * Recipe symfony/translation * Recipe symfony/web-profiler-bundle * Recipe symfony/webpack-encore-bundle * Update recipe doctrine/deprecations * Bump Symfony to version 7.3 * Recipe doctrine/doctrine-bundle * Recipe symfony/framework-bundle * Recipe symfony/routing * Recipe symfony/validator * Recipe symfony/web-profiler-bundle * Bump pluswerk/grumphp-xliff-task to 10.1 * Apply fixes * Upgrade to PHP 8.4 & Bump doctrine/orm to version 3 * Recipe doctrine/doctrine-bundle * Recipe symfony/form * Recipe symfony/property-info * Update composer.json * Upgrade to PHP 8.4 * Update ci.yml * Upgrade to Node.js 24 * Update package.json * Update ci.yml * Update grumphp.yml * Restore PHPUnit configuration * Apply PHPStan fixes
1 parent 77710a1 commit ad61b8a

30 files changed

+1613
-1673
lines changed

.editorconfig

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# editorconfig.org
2+
3+
root = true
4+
5+
[*]
6+
charset = utf-8
7+
end_of_line = lf
8+
indent_size = 4
9+
indent_style = space
10+
insert_final_newline = true
11+
trim_trailing_whitespace = true
12+
13+
[{compose.yaml,compose.*.yaml}]
14+
indent_size = 2
15+
16+
[*.md]
17+
trim_trailing_whitespace = false

.env

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,31 @@
1515
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
1616

1717
###> symfony/framework-bundle ###
18-
APP_ENV=prod
19-
APP_SECRET=74db52ae2893f0f3e829203cfa3cd62a
18+
APP_ENV=dev
19+
APP_SECRET=
2020
TRUSTED_PROXIES=127.0.0.1,REMOTE_ADDR
2121
###< symfony/framework-bundle ###
2222

2323
###> symfony/mailer ###
24-
# MAILER_DSN=null://null
24+
MAILER_DSN=null://null
2525
###< symfony/mailer ###
2626

2727
###> doctrine/doctrine-bundle ###
2828
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
2929
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
3030
#
31-
DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"
31+
# DATABASE_URL="sqlite:///%kernel.project_dir%/var/data_%kernel.environment%.db"
3232
# DATABASE_URL="mysql://app:[email protected]:3306/app?serverVersion=8.0.32&charset=utf8mb4"
3333
# DATABASE_URL="mysql://app:[email protected]:3306/app?serverVersion=10.11.2-MariaDB&charset=utf8mb4"
34-
# DATABASE_URL="postgresql://app:[email protected]:5432/app?serverVersion=16&charset=utf8"
34+
DATABASE_URL="postgresql://app:[email protected]:5432/app?serverVersion=16&charset=utf8"
3535
###< doctrine/doctrine-bundle ###
3636

3737
###> symfony/crowdin-translation-provider ###
3838
# CROWDIN_DSN=crowdin://PROJECT_ID:API_TOKEN@ORGANIZATION_DOMAIN.default
3939
###< symfony/crowdin-translation-provider ###
40+
41+
###> symfony/routing ###
42+
# Configure how to generate URLs in non-HTTP contexts, such as CLI commands.
43+
# See https://symfony.com/doc/current/routing.html#generating-urls-in-commands
44+
DEFAULT_URI=http://localhost
45+
###< symfony/routing ###

.env.test

Lines changed: 0 additions & 7 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ jobs:
1919
strategy:
2020
fail-fast: false
2121
matrix:
22-
php-versions: [ '8.3' ] # See https://www.php.net/supported-versions.php
22+
php-versions: [ 8.4, 8.5 ] # See https://www.php.net/supported-versions.php
2323
steps:
2424
- uses: actions/checkout@v5
2525
- uses: shivammathur/setup-php@v2
2626
with:
2727
php-version: ${{ matrix.php-versions }}
2828
- name: Validate composer.json and composer.lock
29-
run: composer validate --strict
29+
run: composer validate
3030
- name: Cache Composer packages
3131
id: composer-cache
3232
uses: actions/cache@v4
@@ -49,7 +49,7 @@ jobs:
4949
strategy:
5050
fail-fast: false
5151
matrix:
52-
node-version: [ 22.x ] # See https://nodejs.org/en/about/releases/
52+
node-version: [ 24.x ] # See https://nodejs.org/en/about/releases/
5353
steps:
5454
- uses: actions/checkout@v5
5555
- name: Use Node.js ${{ matrix.node-version }}

.platform.app.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: app
22

3-
type: php:8.3
3+
type: php:8.4
44

55
relationships:
66
database: "database:postgresql"

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Node.js (Build assets)
22

3-
FROM node:22-alpine AS node
3+
FROM node:24-alpine AS node
44

55
WORKDIR /assets
66

@@ -15,7 +15,7 @@ FROM composer:2 AS composer
1515

1616
# Application
1717

18-
FROM php:8.3-apache AS app
18+
FROM php:8.4-apache AS app
1919

2020
## Install PHP dependencies
2121

bin/phpunit

Lines changed: 0 additions & 23 deletions
This file was deleted.

composer.json

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,51 +4,51 @@
44
"license": "ISC",
55
"type": "project",
66
"require": {
7-
"php": ">=8.1",
7+
"php": "^8.4",
88
"ext-ctype": "*",
99
"ext-iconv": "*",
1010
"ext-intl": "*",
1111
"ext-pdo": "*",
1212
"ext-sodium": "*",
1313
"composer/package-versions-deprecated": "^1.11.99.2",
14-
"doctrine/doctrine-bundle": "^2.4",
14+
"doctrine/doctrine-bundle": "^3.0",
1515
"doctrine/doctrine-migrations-bundle": "^3.1",
16-
"doctrine/orm": "^2.9",
16+
"doctrine/orm": "^3.5",
1717
"jbelien/oauth2-openstreetmap": "^0.1.1",
1818
"knplabs/knp-time-bundle": "^2.0",
1919
"knpuniversity/oauth2-client-bundle": "^2.8",
2020
"league/commonmark": "^2.0",
2121
"phpdocumentor/reflection-docblock": "^5.2",
2222
"symfony/apache-pack": "^1.0",
23-
"symfony/asset": "~6.4.0",
24-
"symfony/cache": "~6.4.0",
25-
"symfony/console": "~6.4.0",
26-
"symfony/crowdin-translation-provider": "~6.4.0",
27-
"symfony/dotenv": "~6.4.0",
28-
"symfony/expression-language": "~6.4.0",
23+
"symfony/asset": "*",
24+
"symfony/cache": "*",
25+
"symfony/console": "*",
26+
"symfony/crowdin-translation-provider": "*",
27+
"symfony/dotenv": "*",
28+
"symfony/expression-language": "*",
2929
"symfony/flex": "^1.0 || ^2.0",
30-
"symfony/form": "~6.4.0",
31-
"symfony/framework-bundle": "~6.4.0",
32-
"symfony/http-client": "~6.4.0",
33-
"symfony/intl": "~6.4.0",
34-
"symfony/mailer": "~6.4.0",
35-
"symfony/mime": "~6.4.0",
30+
"symfony/form": "*",
31+
"symfony/framework-bundle": "*",
32+
"symfony/http-client": "*",
33+
"symfony/intl": "*",
34+
"symfony/mailer": "*",
35+
"symfony/mime": "*",
3636
"symfony/monolog-bundle": "^3.1",
37-
"symfony/notifier": "~6.4.0",
38-
"symfony/process": "~6.4.0",
39-
"symfony/property-access": "~6.4.0",
40-
"symfony/property-info": "~6.4.0",
41-
"symfony/proxy-manager-bridge": "~6.4.0",
42-
"symfony/runtime": "~6.4.0",
43-
"symfony/security-bundle": "~6.4.0",
44-
"symfony/serializer": "~6.4.0",
45-
"symfony/string": "~6.4.0",
46-
"symfony/translation": "~6.4.0",
47-
"symfony/twig-bundle": "~6.4.0",
48-
"symfony/validator": "~6.4.0",
49-
"symfony/web-link": "~6.4.0",
37+
"symfony/notifier": "*",
38+
"symfony/process": "*",
39+
"symfony/property-access": "*",
40+
"symfony/property-info": "*",
41+
"symfony/proxy-manager-bridge": "*",
42+
"symfony/runtime": "*",
43+
"symfony/security-bundle": "*",
44+
"symfony/serializer": "*",
45+
"symfony/string": "*",
46+
"symfony/translation": "*",
47+
"symfony/twig-bundle": "*",
48+
"symfony/validator": "*",
49+
"symfony/web-link": "*",
5050
"symfony/webpack-encore-bundle": "^2.0",
51-
"symfony/yaml": "~6.4.0",
51+
"symfony/yaml": "*",
5252
"twig/extra-bundle": "^3.3",
5353
"twig/html-extra": "^3.3",
5454
"twig/intl-extra": "^3.3",
@@ -67,15 +67,15 @@
6767
"phpstan/phpstan-doctrine": "^2.0",
6868
"phpstan/phpstan-strict-rules": "^2.0",
6969
"phpstan/phpstan-symfony": "^2.0",
70-
"pluswerk/grumphp-xliff-task": "^6.0",
71-
"symfony/browser-kit": "^6.0",
72-
"symfony/css-selector": "^6.0",
73-
"symfony/debug-bundle": "^6.0",
74-
"symfony/maker-bundle": "^1.0",
75-
"symfony/phpunit-bridge": "^7.0",
76-
"symfony/stopwatch": "^6.0",
77-
"symfony/var-dumper": "^6.0",
78-
"symfony/web-profiler-bundle": "^6.0"
70+
"pluswerk/grumphp-xliff-task": "^10.1",
71+
"symfony/browser-kit": "*",
72+
"symfony/css-selector": "*",
73+
"symfony/debug-bundle": "*",
74+
"symfony/maker-bundle": "*",
75+
"symfony/phpunit-bridge": "*",
76+
"symfony/stopwatch": "*",
77+
"symfony/var-dumper": "*",
78+
"symfony/web-profiler-bundle": "*"
7979
},
8080
"replace": {
8181
"symfony/polyfill-ctype": "*",
@@ -116,7 +116,7 @@
116116
"extra": {
117117
"symfony": {
118118
"allow-contrib": false,
119-
"require": "6.4.*"
119+
"require": "7.3.*"
120120
}
121121
},
122122
"scripts": {

0 commit comments

Comments
 (0)