From 6769beadf36fdd9cbc2ad8ad35e1767d2cddcb15 Mon Sep 17 00:00:00 2001 From: Sebastian Blank Date: Mon, 22 Apr 2024 19:52:40 +0200 Subject: [PATCH 1/6] Upgraded to PHP CS Fixer v3 --- .../{php-style.yml => php-cs-fixer.yaml} | 17 ++-- .php-cs-fixer.dist.php | 85 +++++++++++++++++++ .php_cs.dist | 84 ------------------ 3 files changed, 97 insertions(+), 89 deletions(-) rename .github/workflows/{php-style.yml => php-cs-fixer.yaml} (52%) create mode 100644 .php-cs-fixer.dist.php delete mode 100644 .php_cs.dist diff --git a/.github/workflows/php-style.yml b/.github/workflows/php-cs-fixer.yaml similarity index 52% rename from .github/workflows/php-style.yml rename to .github/workflows/php-cs-fixer.yaml index 81fdbc8..769f1fe 100644 --- a/.github/workflows/php-style.yml +++ b/.github/workflows/php-cs-fixer.yaml @@ -1,9 +1,18 @@ -name: PHP Style +name: "PHP-CS-Fixer" -on: [push] +on: + push: + branches: + - "[0-9]+.[0-9]+" + - "[0-9]+.x" + +permissions: + contents: read jobs: php-cs-fixer: + permissions: + contents: write # for stefanzweifel/git-auto-commit-action to push code in repo runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -11,9 +20,7 @@ jobs: ref: ${{ github.head_ref }} - name: PHP-CS-Fixer - uses: docker://oskarstark/php-cs-fixer-ga:2.19.0 - with: - args: --config=.php_cs.dist --allow-risky yes + uses: docker://oskarstark/php-cs-fixer-ga:latest - uses: stefanzweifel/git-auto-commit-action@v4 with: diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php new file mode 100644 index 0000000..b14b6d2 --- /dev/null +++ b/.php-cs-fixer.dist.php @@ -0,0 +1,85 @@ +in([ + __DIR__ . '/bundles', + __DIR__ . '/config', + __DIR__ . '/lib', + __DIR__ . '/models', + __DIR__ . '/tests' + ]) + + ->exclude([ + __DIR__ . '/tests/_output', + __DIR__ . '/tests/Support/_generated', + ]) + + // do not fix views + ->notName('*.html.php') +; + +// do not enable self_accessor as it breaks pimcore models relying on get_called_class() +$config = new PhpCsFixer\Config(); +$config->setRules([ + '@PSR1' => true, + '@PSR2' => true, + 'array_syntax' => ['syntax' => 'short'], + 'list_syntax' => ['syntax' => 'short'], + + 'header_comment' => [ + 'comment_type' => 'PHPDoc', + 'header' => 'Pimcore' . PHP_EOL . PHP_EOL . + 'This source file is available under two different licenses:' . PHP_EOL . + '- GNU General Public License version 3 (GPLv3)' . PHP_EOL . + '- Pimcore Commercial License (PCL)' . PHP_EOL . + 'Full copyright and license information is available in' . PHP_EOL . + 'LICENSE.md which is distributed with this source code.' . PHP_EOL . + PHP_EOL . + ' @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)' . PHP_EOL . + ' @license http://www.pimcore.org/license GPLv3 and PCL' + ], + + 'blank_line_before_statement' => true, + 'encoding' => true, + 'function_typehint_space' => true, + 'single_line_comment_style' => true, + 'lowercase_cast' => true, + 'magic_constant_casing' => true, + 'method_argument_space' => ['on_multiline' => 'ignore'], + 'class_attributes_separation' => true, + 'native_function_casing' => true, + 'no_blank_lines_after_class_opening' => true, + 'no_blank_lines_after_phpdoc' => true, + 'no_empty_comment' => true, + 'no_empty_phpdoc' => true, + 'no_empty_statement' => true, + 'no_extra_blank_lines' => true, + 'no_leading_import_slash' => true, + 'no_leading_namespace_whitespace' => true, + 'no_short_bool_cast' => true, + 'no_spaces_around_offset' => true, + 'no_superfluous_phpdoc_tags' => ['allow_mixed' => true, 'remove_inheritdoc' => true], + 'no_unneeded_control_parentheses' => true, + 'no_unused_imports' => true, + 'no_whitespace_before_comma_in_array' => true, + 'no_whitespace_in_blank_line' => true, + 'object_operator_without_whitespace' => true, + 'ordered_imports' => true, + 'phpdoc_indent' => true, + 'phpdoc_no_useless_inheritdoc' => true, + 'phpdoc_scalar' => true, + 'phpdoc_separation' => true, + 'phpdoc_single_line_var_spacing' => true, + 'return_type_declaration' => true, + 'short_scalar_cast' => true, + 'single_blank_line_before_namespace' => true, + 'single_quote' => true, + 'space_after_semicolon' => true, + 'standardize_not_equals' => true, + 'ternary_operator_spaces' => true, + 'trailing_comma_in_multiline' => true, + 'whitespace_after_comma_in_array' => true, +]); + +$config->setFinder($finder); +return $config; diff --git a/.php_cs.dist b/.php_cs.dist deleted file mode 100644 index bfd2124..0000000 --- a/.php_cs.dist +++ /dev/null @@ -1,84 +0,0 @@ -in([ - __DIR__ . '/src', - ]) - - ->exclude([ - __DIR__ . '/pimcore/tests/_output', - __DIR__ . '/pimcore/tests/_support/_generated', - ]) - - // do not fix views - ->notName('*.html.php') - - // using notPath instead of exclude here as they can be nested (install-profiles) - ->notPath('/var\/config/') - ->notPath('/var\/classes/') -; - -// do not enable self_accessor as it breaks pimcore models relying on get_called_class() -return PhpCsFixer\Config::create() - ->setRules([ - '@PSR1' => true, - '@PSR2' => true, - 'array_syntax' => ['syntax' => 'short'], - - 'header_comment' => [ - 'commentType' => 'PHPDoc', - 'header' => 'Pimcore' . PHP_EOL . PHP_EOL . - 'This source file is available under two different licenses:' . PHP_EOL . - '- GNU General Public License version 3 (GPLv3)' . PHP_EOL . - '- Pimcore Commercial License (PCL)' . PHP_EOL . - 'Full copyright and license information is available in' . PHP_EOL . - 'LICENSE.md which is distributed with this source code.' . PHP_EOL . - PHP_EOL . - ' @copyright Copyright (c) Pimcore GmbH (http://www.pimcore.org)' . PHP_EOL . - ' @license http://www.pimcore.org/license GPLv3 and PCL' - ], - - // keep aligned = and => operators as they are: do not force aligning, but do not remove it - 'binary_operator_spaces' => ['align_double_arrow' => null, 'align_equals' => null], - - 'blank_line_before_return' => true, - 'encoding' => true, - 'function_typehint_space' => true, - 'hash_to_slash_comment' => true, - 'lowercase_cast' => true, - 'magic_constant_casing' => true, - 'method_argument_space' => ['ensure_fully_multiline' => false], - 'method_separation' => true, - 'native_function_casing' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_empty_comment' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_consecutive_blank_lines' => true, - 'no_leading_import_slash' => true, - 'no_leading_namespace_whitespace' => true, - 'no_short_bool_cast' => true, - 'no_spaces_around_offset' => true, - 'no_unneeded_control_parentheses' => true, - 'no_unused_imports' => true, - 'no_whitespace_before_comma_in_array' => true, - 'no_whitespace_in_blank_line' => true, - 'object_operator_without_whitespace' => true, - 'ordered_imports' => true, - 'phpdoc_indent' => true, - 'phpdoc_no_useless_inheritdoc' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_single_line_var_spacing' => true, - 'return_type_declaration' => true, - 'self_accessor' => true, - 'short_scalar_cast' => true, - 'single_blank_line_before_namespace' => true, - 'single_quote' => true, - 'space_after_semicolon' => true, - 'standardize_not_equals' => true, - 'ternary_operator_spaces' => true, - 'whitespace_after_comma_in_array' => true, - ]) - ->setFinder($finder); From bd53651913a1acdfcda04d46ca5a9d0b9eb9b7da Mon Sep 17 00:00:00 2001 From: Sebastian Blank Date: Mon, 22 Apr 2024 20:02:24 +0200 Subject: [PATCH 2/6] Update .gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 17629c6..4c5f2f7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,7 @@ Thumbs.db # PHP-CS-Fixer /.php_cs -/.php_cs.cache +/.php-cs-fixer.cache # composer /composer.lock From e97c5f1b21d125e36625d0049345df66cc8f8440 Mon Sep 17 00:00:00 2001 From: Sebastian Blank Date: Tue, 23 Apr 2024 10:32:50 +0200 Subject: [PATCH 3/6] Set major version 3 --- .github/workflows/php-cs-fixer.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/php-cs-fixer.yaml b/.github/workflows/php-cs-fixer.yaml index 769f1fe..8c06b4b 100644 --- a/.github/workflows/php-cs-fixer.yaml +++ b/.github/workflows/php-cs-fixer.yaml @@ -5,14 +5,15 @@ on: branches: - "[0-9]+.[0-9]+" - "[0-9]+.x" + - "*_actions" permissions: - contents: read + contents: read jobs: php-cs-fixer: permissions: - contents: write # for stefanzweifel/git-auto-commit-action to push code in repo + contents: write # for stefanzweifel/git-auto-commit-action to push code in repo runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -20,7 +21,7 @@ jobs: ref: ${{ github.head_ref }} - name: PHP-CS-Fixer - uses: docker://oskarstark/php-cs-fixer-ga:latest + uses: docker://oskarstark/php-cs-fixer-ga:3 - uses: stefanzweifel/git-auto-commit-action@v4 with: From beb5ac4ec353d2d4e62eaabfeaac84d17c09dd8c Mon Sep 17 00:00:00 2001 From: Sebastian Blank Date: Tue, 23 Apr 2024 11:05:24 +0200 Subject: [PATCH 4/6] Use latest --- .github/workflows/php-cs-fixer.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/php-cs-fixer.yaml b/.github/workflows/php-cs-fixer.yaml index 8c06b4b..2465ee3 100644 --- a/.github/workflows/php-cs-fixer.yaml +++ b/.github/workflows/php-cs-fixer.yaml @@ -21,7 +21,7 @@ jobs: ref: ${{ github.head_ref }} - name: PHP-CS-Fixer - uses: docker://oskarstark/php-cs-fixer-ga:3 + uses: docker://oskarstark/php-cs-fixer-ga:latest - uses: stefanzweifel/git-auto-commit-action@v4 with: From 40e41fc8ebd6b5179dc28f65d7f459e41890c3d1 Mon Sep 17 00:00:00 2001 From: Sebastian Blank Date: Tue, 23 Apr 2024 14:23:49 +0200 Subject: [PATCH 5/6] [PhpCsFixer] Fix paths --- .php-cs-fixer.dist.php | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php index b14b6d2..fca67a1 100644 --- a/.php-cs-fixer.dist.php +++ b/.php-cs-fixer.dist.php @@ -2,20 +2,8 @@ $finder = PhpCsFixer\Finder::create() ->in([ - __DIR__ . '/bundles', - __DIR__ . '/config', - __DIR__ . '/lib', - __DIR__ . '/models', - __DIR__ . '/tests' + __DIR__ . '/src', ]) - - ->exclude([ - __DIR__ . '/tests/_output', - __DIR__ . '/tests/Support/_generated', - ]) - - // do not fix views - ->notName('*.html.php') ; // do not enable self_accessor as it breaks pimcore models relying on get_called_class() From 4024f62fdad771f48c0fef8a227f6a279bd3aee2 Mon Sep 17 00:00:00 2001 From: Sebastian Blank Date: Mon, 29 Apr 2024 14:19:04 +0200 Subject: [PATCH 6/6] PhpCsFixer: Execute on pull requests --- .github/workflows/php-cs-fixer.yaml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/php-cs-fixer.yaml b/.github/workflows/php-cs-fixer.yaml index 2465ee3..6d19d4f 100644 --- a/.github/workflows/php-cs-fixer.yaml +++ b/.github/workflows/php-cs-fixer.yaml @@ -1,11 +1,17 @@ name: "PHP-CS-Fixer" on: + pull_request_target: + branches: + - "[0-9]+.[0-9]+" + - "[0-9]+.x" + - "feature-*" push: branches: - "[0-9]+.[0-9]+" - "[0-9]+.x" - "*_actions" + - "feature-*" permissions: contents: read @@ -16,13 +22,14 @@ jobs: contents: write # for stefanzweifel/git-auto-commit-action to push code in repo runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: - ref: ${{ github.head_ref }} + ref: ${{ github.event.pull_request.head.ref }} + repository: ${{ github.event.pull_request.head.repo.full_name }} - name: PHP-CS-Fixer uses: docker://oskarstark/php-cs-fixer-ga:latest - - uses: stefanzweifel/git-auto-commit-action@v4 + - uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: Apply php-cs-fixer changes