Skip to content

Commit 7f1ab2a

Browse files
author
DKravtsov
committed
symfony 5.4 and php 8.1
1 parent 3cdccc6 commit 7f1ab2a

File tree

182 files changed

+6404
-3744
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

182 files changed

+6404
-3744
lines changed

.circleci/config.yml

+15
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,21 @@ jobs:
4444
make ecs
4545
make phpcs
4646
47+
- run:
48+
name: Run PHPStan
49+
command: |
50+
make phpstan
51+
52+
- run:
53+
name: Run PHPInsights
54+
command: |
55+
make phpinsights
56+
57+
- run:
58+
name: Run PHP copy past detector
59+
command: |
60+
make phpcpd
61+
4762
- store_artifacts:
4863
path: reports
4964

.env

+5-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ COMPOSE_PROJECT_NAME=backend
2121
APP_ENV=dev
2222
APP_DEBUG=1
2323
APP_SECRET=42f011ec3a7bde0bec87364b1d967193
24-
#TRUSTED_PROXIES=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
24+
TRUSTED_PROXIES=127.0.0.1,REMOTE_ADDR
2525
#TRUSTED_HOSTS='^localhost|example\.com$'
2626
###< symfony/framework-bundle ###
2727

@@ -33,6 +33,10 @@ APP_SECRET=42f011ec3a7bde0bec87364b1d967193
3333
DATABASE_URL=mysql://root:secret@mysql:3306/symfony
3434
###< doctrine/doctrine-bundle ###
3535

36+
###> redis ###
37+
REDIS_URL=redis://redis
38+
###< redis ###
39+
3640
###> symfony/mailer ###
3741
MAILER_DSN=smtp://user:[email protected]
3842
APP_SENDER_EMAIL=admin@localhost

.github/workflows/ci.yml

+6
Original file line numberDiff line numberDiff line change
@@ -50,5 +50,11 @@ jobs:
5050
run: make ecs
5151
- name: Run codeSniffer
5252
run: make phpcs
53+
- name: Run PHPStan
54+
run: make phpstan
55+
- name: Run PHPInsights
56+
run: make phpinsights
57+
- name: Run php copy past detector
58+
run: make phpcpd
5359
- name: Stop the docker images
5460
run: make stop-test

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ reports/*
2525
###< lexik/jwt-authentication-bundle ###
2626

2727
###> friendsofphp/php-cs-fixer ###
28+
.php-cs-fixer.cache
2829
.php_cs
2930
.php_cs.cache
3031
###< friendsofphp/php-cs-fixer ###

.gitlab-ci.yml

+3
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ build:
3939
- make phpunit
4040
- make ecs
4141
- make phpcs
42+
- make phpstan
43+
- make phpinsights
44+
- make phpcpd
4245
- make stop-test
4346
artifacts:
4447
paths:

.php-cs-fixer.dist.php

+8-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
declare(strict_types=1);
44

55
// https://mlocati.github.io/php-cs-fixer-configurator/
6-
$finder = PhpCsFixer\Finder::create()->in(__DIR__)->exclude('somedir');
6+
$finder = PhpCsFixer\Finder::create()
7+
->in(__DIR__)
8+
->exclude('somedir');
79

810
return (new PhpCsFixer\Config())
911
->setRules([
@@ -19,6 +21,8 @@
1921
'blank_line_before_statement' => ['statements' => ['continue', 'declare', 'return', 'throw', 'try']],
2022
'single_blank_line_before_namespace' => true,
2123
'blank_line_after_namespace' => true,
24+
'phpdoc_align' => ['align' => 'left'],
25+
'types_spaces' => 'single',
2226

2327
// skip list (see ecs.php)
2428
'no_multiline_whitespace_around_double_arrow' => false,
@@ -30,5 +34,6 @@
3034
'no_blank_lines_before_namespace' => false,
3135
'not_operator_with_successor_space' => false,
3236
'single_line_throw' => false,
33-
'blank_line_after_strict_types' => false,
34-
])->setFinder($finder);
37+
'no_extra_blank_lines' => ['tokens' => ['break']],
38+
])
39+
->setFinder($finder);

Dockerfile

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM php:8.0-fpm
1+
FROM php:8.1-fpm
22

33
# set main params
44
ARG BUILD_ARGUMENT_DEBUG_ENABLED=false
@@ -10,7 +10,6 @@ ARG UID=1000
1010
ARG GID=1000
1111
ENV USERNAME=www-data
1212

13-
1413
# check environment
1514
RUN if [ "$BUILD_ARGUMENT_ENV" = "default" ]; then echo "Set BUILD_ARGUMENT_ENV in docker build-args like --build-arg BUILD_ARGUMENT_ENV=dev" && exit 2; \
1615
elif [ "$BUILD_ARGUMENT_ENV" = "dev" ]; then echo "Building development environment."; \
@@ -37,7 +36,7 @@ RUN apt-get update && apt-get upgrade -y && apt-get install -y \
3736
libzip-dev \
3837
wget \
3938
librabbitmq-dev \
40-
&& pecl install amqp-1.11.0beta \
39+
&& pecl install amqp \
4140
&& docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd \
4241
&& docker-php-ext-configure intl \
4342
&& yes '' | pecl install -o -f redis && docker-php-ext-enable redis \

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2020 Dmitriy Kravtsov
3+
Copyright (c) Dmitriy Kravtsov
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

bitbucket-pipelines.yml

+3
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,7 @@ pipelines:
2525
- make phpunit
2626
- make ecs
2727
- make phpcs
28+
- make phpstan
29+
- make phpinsights
30+
- make phpcpd
2831
- make stop-test

composer.json

+66-49
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "dimadeush/docker-symfony-api",
2+
"name": "systemsdk/docker-symfony-api",
33
"type": "project",
44
"description": "JSON REST API",
55
"keywords": [
@@ -13,19 +13,25 @@
1313
"RabbitMQ",
1414
"Elasticsearch"
1515
],
16-
"homepage": "https://github.com/dimadeush/docker-symfony-api",
17-
"version": "0.0.0",
16+
"homepage": "https://github.com/systemsdk/docker-symfony-api",
17+
"version": "v0.1.0",
1818
"license": "MIT",
1919
"authors": [
2020
{
2121
"name": "Dmitriy Kravtsov",
2222
"email": "[email protected]",
2323
"homepage": "https://github.com/dimadeush",
2424
"role": "Developer"
25+
},
26+
{
27+
"name": "Tarmo Leppänen",
28+
"email": "[email protected]",
29+
"homepage": "https://github.com/tarlepp",
30+
"role": "Developer"
2531
}
2632
],
2733
"require": {
28-
"php": "^8.0.0",
34+
"php": "^8.1.0",
2935
"ext-amqp": "*",
3036
"ext-ctype": "*",
3137
"ext-iconv": "*",
@@ -39,45 +45,45 @@
3945
"doctrine/doctrine-migrations-bundle": "^3.2",
4046
"doctrine/orm": "^2.10",
4147
"dukecity/command-scheduler-bundle": "^4.0",
42-
"elasticsearch/elasticsearch": "^7.15",
43-
"gedmo/doctrine-extensions": "^3.3",
48+
"elasticsearch/elasticsearch": "^7.16",
49+
"gedmo/doctrine-extensions": "^3.4",
4450
"lexik/jwt-authentication-bundle": "^2.14",
45-
"mark-gerarts/automapper-plus-bundle": "^1.3",
46-
"matomo/device-detector": "^4.3",
47-
"matthiasnoback/symfony-console-form": "^5.0",
48-
"nelmio/api-doc-bundle": "^4.6",
49-
"nelmio/cors-bundle": "^2.1",
51+
"mark-gerarts/automapper-plus-bundle": "^1.4",
52+
"matomo/device-detector": "^5.0",
53+
"matthiasnoback/symfony-console-form": "^5.1",
54+
"nelmio/api-doc-bundle": "^4.8",
55+
"nelmio/cors-bundle": "^2.2",
5056
"phpdocumentor/reflection-docblock": "^5.3",
5157
"ramsey/uuid-doctrine": "^1.8",
5258
"sensio/framework-extra-bundle": "^6.2",
53-
"symfony/asset": "5.3.*",
54-
"symfony/config": "5.3.*",
55-
"symfony/console": "5.3.*",
56-
"symfony/dotenv": "5.3.*",
57-
"symfony/expression-language": "5.3.*",
58-
"symfony/flex": "^1.17",
59-
"symfony/form": "5.3.*",
60-
"symfony/framework-bundle": "5.3.*",
61-
"symfony/http-client": "5.3.*",
62-
"symfony/intl": "5.3.*",
63-
"symfony/mailer": "5.3.*",
64-
"symfony/messenger": "5.3.*",
65-
"symfony/mime": "5.3.*",
59+
"symfony/asset": "5.4.*",
60+
"symfony/config": "5.4.*",
61+
"symfony/console": "5.4.*",
62+
"symfony/dotenv": "5.4.*",
63+
"symfony/expression-language": "5.4.*",
64+
"symfony/flex": "^2.0",
65+
"symfony/form": "5.4.*",
66+
"symfony/framework-bundle": "5.4.*",
67+
"symfony/http-client": "5.4.*",
68+
"symfony/intl": "5.4.*",
69+
"symfony/mailer": "5.4.*",
70+
"symfony/messenger": "5.4.*",
71+
"symfony/mime": "5.4.*",
6672
"symfony/monolog-bundle": "^3.7",
67-
"symfony/notifier": "5.3.*",
68-
"symfony/process": "5.3.*",
69-
"symfony/property-access": "5.3.*",
70-
"symfony/property-info": "5.3.*",
71-
"symfony/proxy-manager-bridge": "5.3.*",
72-
"symfony/runtime": "5.3.*",
73-
"symfony/routing": "5.3.*",
74-
"symfony/security-bundle": "5.3.*",
75-
"symfony/serializer": "5.3.*",
76-
"symfony/translation": "5.3.*",
77-
"symfony/twig-bundle": "5.3.*",
78-
"symfony/validator": "5.3.*",
79-
"symfony/web-link": "5.3.*",
80-
"symfony/yaml": "5.3.*",
73+
"symfony/notifier": "5.4.*",
74+
"symfony/process": "5.4.*",
75+
"symfony/property-access": "5.4.*",
76+
"symfony/property-info": "5.4.*",
77+
"symfony/proxy-manager-bridge": "5.4.*",
78+
"symfony/runtime": "5.4.*",
79+
"symfony/routing": "5.4.*",
80+
"symfony/security-bundle": "5.4.*",
81+
"symfony/serializer": "5.4.*",
82+
"symfony/translation": "5.4.*",
83+
"symfony/twig-bundle": "5.4.*",
84+
"symfony/validator": "5.4.*",
85+
"symfony/web-link": "5.4.*",
86+
"symfony/yaml": "5.4.*",
8187
"twig/extra-bundle": "^2.12|^3.0",
8288
"twig/twig": "^2.12|^3.0"
8389
},
@@ -90,31 +96,40 @@
9096
"bamarni/composer-bin-plugin": "^1.4",
9197
"doctrine/doctrine-fixtures-bundle": "^3.4",
9298
"systemsdk/easy-log-bundle": "1.10.*",
93-
"ergebnis/composer-normalize": "^2.16",
99+
"ergebnis/composer-normalize": "^2.22",
94100
"roave/security-advisories": "dev-latest",
95-
"symfony/browser-kit": "5.3.*",
96-
"symfony/debug-bundle": "5.3.*",
101+
"symfony/browser-kit": "5.4.*",
102+
"symfony/debug-bundle": "5.4.*",
97103
"symfony/maker-bundle": "^1.36",
98104
"symfony/requirements-checker": "^2.0",
99-
"symfony/stopwatch": "5.3.*",
100-
"symfony/var-dumper": "5.3.*",
101-
"symfony/web-profiler-bundle": "5.3.*"
105+
"symfony/stopwatch": "5.4.*",
106+
"symfony/var-dumper": "5.4.*",
107+
"symfony/web-profiler-bundle": "5.4.*"
102108
},
103109
"config": {
104110
"platform": {
105-
"php": "8.0.0"
111+
"php": "8.1.0"
106112
},
107113
"preferred-install": {
108114
"*": "dist"
109115
},
110-
"sort-packages": true
116+
"sort-packages": true,
117+
"allow-plugins": {
118+
"composer/package-versions-deprecated": true,
119+
"bamarni/composer-bin-plugin": true,
120+
"ergebnis/composer-normalize": true,
121+
"symfony/flex": true,
122+
"symfony/runtime": true
123+
}
111124
},
112125
"extra": {
126+
"allow-contrib": "true",
113127
"bamarni-bin": {
114128
"target-directory": "tools"
115129
},
116130
"symfony": {
117-
"allow-contrib": true
131+
"allow-contrib": true,
132+
"require": "5.4.*"
118133
}
119134
},
120135
"autoload": {
@@ -132,7 +147,8 @@
132147
"PHPMD\\": "tools/06_phpmd/vendor/phpmd/phpmd/src/bin",
133148
"PhpCsFixer\\": "tools/03_ecs/vendor/symplify/easy-coding-standard/vendor/friendsofphp/php-cs-fixer/src",
134149
"Symplify\\CodingStandard\\": "tools/03_ecs/vendor/symplify/easy-coding-standard/vendor/symplify/coding-standard/src",
135-
"Symplify\\RuleDocGenerator\\": "tools/03_ecs/vendor/symplify/easy-coding-standard/vendor/symplify/rule-doc-generator-contracts/src",
150+
"Symplify\\EasyCodingStandard\\": "tools/03_ecs/vendor/symplify/easy-coding-standard/src",
151+
"ECSPrefix20210928\\Symplify\\RuleDocGenerator\\": "tools/03_ecs/vendor/symplify/easy-coding-standard/vendor/symplify/rule-doc-generator-contracts/src",
136152
"PHPStan\\PhpDoc\\PHPUnit\\": "tools/02_phpstan/vendor/phpstan/phpstan-phpunit/src/PhpDoc/PHPUnit",
137153
"PHPStan\\Rules\\PHPUnit\\": "tools/02_phpstan/vendor/phpstan/phpstan-phpunit/src/Rules/PHPUnit",
138154
"PHPStan\\Symfony\\": "tools/02_phpstan/vendor/phpstan/phpstan-symfony/src/Symfony",
@@ -159,11 +175,12 @@
159175
"auto-scripts": {
160176
"cache:clear": "symfony-cmd",
161177
"cache:warmup": "symfony-cmd",
178+
"cache:pool:clear cache.app || true": "symfony-cmd",
162179
"assets:install --symlink --relative %PUBLIC_DIR%": "symfony-cmd",
163180
"assets:install %PUBLIC_DIR%": "symfony-cmd"
164181
}
165182
},
166183
"support": {
167-
"issues": "https://github.com/dimadeush/docker-symfony-api/issues"
184+
"issues": "https://github.com/systemsdk/docker-symfony-api/issues"
168185
}
169186
}

0 commit comments

Comments
 (0)