Skip to content

Commit 98ec963

Browse files
authored
feat: update to symfony 6 (#311)
* feat: update to symfony 6 * ci: ignore composer.lock labeling the pr * feat: migrate to the latest doctrine version * feat: update docker images * feat: update symfony session component * feat: update to elasticsearch 8 feat: update to elasticsearch 8 * ci: wait until elastic is up
1 parent b2b2b81 commit 98ec963

File tree

18 files changed

+1336
-1571
lines changed

18 files changed

+1336
-1571
lines changed

.env

+5-5
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ APP_SECRET=29ac4a5187930cd4b689aa0f3ee7cbc0
88
#--------------------------------#
99
# MySql
1010
MOOC_DATABASE_DRIVER=pdo_mysql
11-
MOOC_DATABASE_HOST=codelytv-php_ddd_skeleton-mooc-mysql
11+
MOOC_DATABASE_HOST=codely-php_ddd_skeleton-mooc-mysql
1212
MOOC_DATABASE_PORT=3306
1313
MOOC_DATABASE_NAME=mooc
1414
MOOC_DATABASE_USER=root
@@ -18,22 +18,22 @@ MOOC_DATABASE_PASSWORD=
1818
#--------------------------------#
1919
# MySql
2020
BACKOFFICE_DATABASE_DRIVER=pdo_mysql
21-
BACKOFFICE_DATABASE_HOST=codelytv-php_ddd_skeleton-mooc-mysql
21+
BACKOFFICE_DATABASE_HOST=codely-php_ddd_skeleton-mooc-mysql
2222
BACKOFFICE_DATABASE_PORT=3306
2323
BACKOFFICE_DATABASE_NAME=mooc
2424
BACKOFFICE_DATABASE_USER=root
2525
BACKOFFICE_DATABASE_PASSWORD=
2626

2727
# Elasticsearch
28-
BACKOFFICE_ELASTICSEARCH_HOST=codelytv-php_ddd_skeleton-backoffice-elastic
28+
BACKOFFICE_ELASTICSEARCH_HOST=codely-php_ddd_skeleton-backoffice-elastic
2929
BACKOFFICE_ELASTICSEARCH_INDEX_PREFIX=backoffice
3030

3131
# COMMON #
3232
#--------------------------------#
3333
# RabbitMQ
34-
RABBITMQ_HOST=codelytv-php_ddd_skeleton-rabbitmq
34+
RABBITMQ_HOST=codely-php_ddd_skeleton-rabbitmq
3535
RABBITMQ_PORT=5672
36-
RABBITMQ_LOGIN=codelytv
36+
RABBITMQ_LOGIN=codely
3737
RABBITMQ_PASSWORD=c0d3ly
3838
RABBITMQ_EXCHANGE=domain_events
3939
RABBITMQ_MAX_RETRIES=5

.github/workflows/ci.yml

+7
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,13 @@ jobs:
3232
sleep 2
3333
done
3434
35+
- name: 🧪 Wait for the elasticsearch to get up
36+
run: |
37+
while ! make ping-elasticsearch &>/dev/null; do
38+
echo "Waiting for elasticsearch connection..."
39+
sleep 2
40+
done
41+
3542
- name: 🐰 Wait for the message broker to get up
3643
run: |
3744
while ! make ping-rabbitmq &>/dev/null; do

.github/workflows/labeler.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@ jobs:
77
runs-on: ubuntu-latest
88
name: Label the PR size
99
steps:
10-
- uses: codelytv/pr-size-labeler@v1.3.0
10+
- uses: codelytv/pr-size-labeler@v1.8.1
1111
with:
1212
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1313
xs_max_size: '10'
1414
s_max_size: '300'
1515
m_max_size: '600'
1616
l_max_size: '1400'
1717
fail_if_xl: 'true'
18+
files_to_ignore: 'composer.lock'

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM php:8.1.1-fpm-alpine
1+
FROM php:8.1.6-fpm-alpine
22
WORKDIR /app
33

44
RUN wget https://github.com/FriendsOfPHP/pickle/releases/download/v0.7.9/pickle.phar \

Makefile

+15-11
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ composer-require-module: INTERACTIVE=-ti --interactive
2727
.PHONY: composer
2828
composer composer-install composer-update composer-require composer-require-module: composer-env-file
2929
@docker run --rm $(INTERACTIVE) --volume $(current-dir):/app --user $(id -u):$(id -g) \
30-
composer:2.2 $(CMD) \
30+
composer:2.3.7 $(CMD) \
3131
--ignore-platform-reqs \
3232
--no-ansi
3333

@@ -38,14 +38,14 @@ reload: composer-env-file
3838

3939
.PHONY: test
4040
test: composer-env-file
41-
docker exec codelytv-php_ddd_skeleton-mooc_backend-php ./vendor/bin/phpunit --testsuite mooc
42-
docker exec codelytv-php_ddd_skeleton-mooc_backend-php ./vendor/bin/phpunit --testsuite shared
43-
docker exec codelytv-php_ddd_skeleton-mooc_backend-php ./vendor/bin/behat -p mooc_backend --format=progress -v
44-
docker exec codelytv-php_ddd_skeleton-backoffice_backend-php ./vendor/bin/phpunit --testsuite backoffice
41+
docker exec codely-php_ddd_skeleton-mooc_backend-php ./vendor/bin/phpunit --testsuite mooc
42+
docker exec codely-php_ddd_skeleton-mooc_backend-php ./vendor/bin/phpunit --testsuite shared
43+
docker exec codely-php_ddd_skeleton-mooc_backend-php ./vendor/bin/behat -p mooc_backend --format=progress -v
44+
docker exec codely-php_ddd_skeleton-backoffice_backend-php ./vendor/bin/phpunit --testsuite backoffice
4545

4646
.PHONY: static-analysis
4747
static-analysis: composer-env-file
48-
docker exec codelytv-php_ddd_skeleton-mooc_backend-php ./vendor/bin/psalm
48+
docker exec codely-php_ddd_skeleton-mooc_backend-php ./vendor/bin/psalm
4949

5050
.PHONY: run-tests
5151
run-tests: composer-env-file
@@ -79,14 +79,18 @@ rebuild: composer-env-file
7979

8080
.PHONY: ping-mysql
8181
ping-mysql:
82-
@docker exec codelytv-php_ddd_skeleton-mooc-mysql mysqladmin --user=root --password= --host "127.0.0.1" ping --silent
82+
@docker exec codely-php_ddd_skeleton-mooc-mysql mysqladmin --user=root --password= --host "127.0.0.1" ping --silent
83+
84+
.PHONY: ping-elasticsearch
85+
ping-elasticsearch:
86+
@curl -I -XHEAD localhost:9200
8387

8488
.PHONY: ping-rabbitmq
8589
ping-rabbitmq:
86-
@docker exec codelytv-php_ddd_skeleton-rabbitmq rabbitmqctl ping --silent
90+
@docker exec codely-php_ddd_skeleton-rabbitmq rabbitmqctl ping --silent
8791

8892
clean-cache:
8993
@rm -rf apps/*/*/var
90-
@docker exec codelytv-php_ddd_skeleton-backoffice_backend-php ./apps/backoffice/backend/bin/console cache:warmup
91-
@docker exec codelytv-php_ddd_skeleton-backoffice_frontend-php ./apps/backoffice/frontend/bin/console cache:warmup
92-
@docker exec codelytv-php_ddd_skeleton-mooc_backend-php ./apps/mooc/backend/bin/console cache:warmup
94+
@docker exec codely-php_ddd_skeleton-backoffice_backend-php ./apps/backoffice/backend/bin/console cache:warmup
95+
@docker exec codely-php_ddd_skeleton-backoffice_frontend-php ./apps/backoffice/frontend/bin/console cache:warmup
96+
@docker exec codely-php_ddd_skeleton-mooc_backend-php ./apps/mooc/backend/bin/console cache:warmup

apps/backoffice/backend/bin/console

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
use CodelyTv\Apps\Backoffice\Backend\BackofficeBackendKernel;
55
use Symfony\Bundle\FrameworkBundle\Console\Application;
66
use Symfony\Component\Console\Input\ArgvInput;
7-
use Symfony\Component\Debug\Debug;
7+
use Symfony\Component\ErrorHandler\Debug;
88

99
if (false === in_array(PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) {
1010
echo 'Warning: The console should be invoked via the CLI version of PHP, not the ' . PHP_SAPI . ' SAPI' . PHP_EOL;
1111
}
1212

1313
set_time_limit(0);
1414

15-
require dirname(__DIR__) . '../../../../vendor/autoload.php';
15+
require dirname(__DIR__) . '../../../vendor/autoload.php';
1616

1717
if (!class_exists(Application::class)) {
1818
throw new RuntimeException('You need to add "symfony/framework-bundle" as a Composer dependency.');

apps/backoffice/frontend/bin/console

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
use CodelyTv\Apps\Backoffice\Frontend\BackofficeFrontendKernel;
55
use Symfony\Bundle\FrameworkBundle\Console\Application;
66
use Symfony\Component\Console\Input\ArgvInput;
7-
use Symfony\Component\Debug\Debug;
7+
use Symfony\Component\ErrorHandler\Debug;
88

99
if (false === in_array(PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) {
1010
echo 'Warning: The console should be invoked via the CLI version of PHP, not the ' . PHP_SAPI . ' SAPI' . PHP_EOL;
1111
}
1212

1313
set_time_limit(0);
1414

15-
require dirname(__DIR__) . '../../../../vendor/autoload.php';
15+
require dirname(__DIR__) . '../../../vendor/autoload.php';
1616

1717
if (!class_exists(Application::class)) {
1818
throw new RuntimeException('You need to add "symfony/framework-bundle" as a Composer dependency.');

apps/backoffice/frontend/config/services.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ imports:
22
- { resource: ../../../../src/Backoffice/Shared/Infrastructure/Symfony/DependencyInjection/backoffice_services.yaml }
33
- { resource: ../../../../src/Mooc/Shared/Infrastructure/Symfony/DependencyInjection/mooc_services.yaml }
44

5+
framework:
6+
session:
7+
handler_id: null
8+
59
services:
610
_defaults:
711
autoconfigure: true

apps/backoffice/frontend/src/Controller/Courses/CoursesPostWebController.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ private function createCourse(Request $request): RedirectResponse
4747
{
4848
$this->dispatch(
4949
new CreateCourseCommand(
50-
$request->request->getAlpha('id'),
51-
$request->request->getAlpha('name'),
52-
$request->request->getAlpha('duration')
50+
(string) $request->request->get('id'),
51+
(string) $request->request->get('name'),
52+
(string) $request->request->get('duration')
5353
)
5454
);
5555

apps/mooc/backend/bin/console

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
use CodelyTv\Apps\Mooc\Backend\MoocBackendKernel;
55
use Symfony\Bundle\FrameworkBundle\Console\Application;
66
use Symfony\Component\Console\Input\ArgvInput;
7-
use Symfony\Component\Debug\Debug;
7+
use Symfony\Component\ErrorHandler\Debug;
88

99
if (false === in_array(PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) {
1010
echo 'Warning: The console should be invoked via the CLI version of PHP, not the ' . PHP_SAPI . ' SAPI' . PHP_EOL;
1111
}
1212

1313
set_time_limit(0);
1414

15-
require dirname(__DIR__) . '../../../../vendor/autoload.php';
15+
require dirname(__DIR__) . '../../../vendor/autoload.php';
1616

1717
if (!class_exists(Application::class)) {
1818
throw new RuntimeException('You need to add "symfony/framework-bundle" as a Composer dependency.');

apps/mooc/backend/src/Controller/Courses/CoursesPutController.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ public function __invoke(string $id, Request $request): Response
1616
$this->dispatch(
1717
new CreateCourseCommand(
1818
$id,
19-
$request->request->getAlpha('name'),
20-
$request->request->getAlpha('duration')
19+
(string) $request->request->get('name'),
20+
(string) $request->request->get('duration')
2121
)
2222
);
2323

composer.json

+25-25
Original file line numberDiff line numberDiff line change
@@ -12,46 +12,46 @@
1212
"ext-zend-opcache": "*",
1313
"ext-pdo": "*",
1414

15-
"symfony/framework-bundle": "^5.4",
16-
"symfony/messenger": "^5.4",
17-
"symfony/dotenv": "^5.4",
18-
"symfony/yaml": "^5.4",
19-
"symfony/twig-bundle": "^5.4",
20-
"symfony/validator": "^5.4",
21-
"symfony/cache": "^5.4",
15+
"symfony/framework-bundle": "^6",
16+
"symfony/messenger": "^6",
17+
"symfony/dotenv": "^6",
18+
"symfony/yaml": "^6",
19+
"symfony/twig-bundle": "^6",
20+
"symfony/validator": "^6",
21+
"symfony/cache": "^6",
2222

23-
"lambdish/phunctional": "^2.0",
23+
"lambdish/phunctional": "^2",
2424

25-
"ramsey/uuid": "^4.2",
25+
"ramsey/uuid": "^4",
2626

27-
"doctrine/dbal": "^2.10",
28-
"doctrine/orm": "^2.7",
27+
"doctrine/dbal": "^3",
28+
"doctrine/orm": "^2",
2929

30-
"ocramius/proxy-manager": "^2.13",
31-
"laminas/laminas-zendframework-bridge": "^1.4",
30+
"ocramius/proxy-manager": "^2",
31+
"laminas/laminas-zendframework-bridge": "^1",
3232

33-
"elasticsearch/elasticsearch": "^7.3",
34-
"monolog/monolog": "^2.1",
33+
"elasticsearch/elasticsearch": "^7",
34+
"monolog/monolog": "^3",
3535

36-
"endclothing/prometheus_client_php": "^1.0"
36+
"endclothing/prometheus_client_php": "^1"
3737
},
3838
"require-dev": {
3939
"ext-xdebug": "*",
4040

4141
"roave/security-advisories": "dev-master",
4242

43-
"behat/behat": "^3.10",
44-
"friends-of-behat/mink-extension": "^2.6",
45-
"friends-of-behat/symfony-extension": "^2.3",
46-
"behat/mink-browserkit-driver": "^2.0",
43+
"behat/behat": "^3",
44+
"friends-of-behat/mink-extension": "^2",
45+
"friends-of-behat/symfony-extension": "^2",
46+
"behat/mink-browserkit-driver": "^2",
4747

48-
"phpunit/phpunit": "^9.2",
49-
"mockery/mockery": "^1.4",
48+
"phpunit/phpunit": "^9",
49+
"mockery/mockery": "^1",
5050

51-
"fzaninotto/faker": "^1.9",
51+
"fakerphp/faker": "^1",
5252

53-
"symfony/debug": "^4.4",
54-
"vimeo/psalm": "^4.10"
53+
"symfony/error-handler": "^6",
54+
"vimeo/psalm": "^4"
5555
},
5656
"autoload": {
5757
"psr-4": {

0 commit comments

Comments
 (0)