Skip to content

Commit

Permalink
feature #120 Allow Symfony 6 & update CI (ogizanagi)
Browse files Browse the repository at this point in the history
This PR was merged into the 0.x-dev branch.

Discussion
----------

Allow Symfony 6 & update CI

Fixes #119

Commits
-------

e6750e5 Allow Symfony 6 & update CI
  • Loading branch information
ogizanagi committed Nov 18, 2021
2 parents d448c44 + e6750e5 commit 0fe2c10
Show file tree
Hide file tree
Showing 33 changed files with 243 additions and 154 deletions.
78 changes: 55 additions & 23 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
name: 'CI'

on:
workflow_dispatch: ~
push:
branches:
- master
pull_request:
pull_request: ~

jobs:

Expand Down Expand Up @@ -54,7 +55,9 @@ jobs:

- name: 'PHP CS Fixer'
if: always() && steps.deps.outcome == 'success'
run: vendor/bin/php-cs-fixer fix --dry-run --diff
run: |
make php-cs-fixer.phar
./php-cs-fixer.phar fix --dry-run --diff
- name: 'PhpStan'
if: always() && steps.deps.outcome == 'success'
Expand All @@ -76,47 +79,79 @@ jobs:
strategy:
fail-fast: false # don't cancel other matrix jobs on failure
matrix:
php: [ '7.4', '8.0' ]
include:
# Previous Symfony versions
- name: 'Test Symfony 5.3 [Linux, PHP 8.0]'
os: 'ubuntu-latest'
php: '8.0'
symfony: '5.3.*'

# Previous PHP versions
- name: 'Test Symfony 5.4 [Linux, PHP 7.4]'
os: 'ubuntu-latest'
php: '7.4'
symfony: '5.4.*@dev'
allow-unstable: true

# Most recent versions
- name: 'Test Symfony 5.4 [Linux, PHP 8.1]'
os: 'ubuntu-latest'
php: '8.1'
symfony: '5.4.*@dev'
allow-unstable: true

- name: 'Test Symfony 5.4 [Windows, PHP 8.0]'
os: 'windows-latest'
php: '8.0'
symfony: '5.4.*@dev'
allow-unstable: true

- name: 'Test Symfony 6.0 [Linux, PHP 8.1]'
os: 'ubuntu-latest'
php: '8.1'
symfony: '6.0.*@dev'
allow-unstable: true

steps:
- name: 'Checkout'
uses: actions/checkout@v2

- name: 'Setup PHP'
uses: shivammathur/setup-php@v2

with:
coverage: "none"
extensions: "json"
ini-values: "memory_limit=-1"
php-version: "${{ matrix.php }}"
php-version: ${{ matrix.php }}
coverage: none
extensions: json
ini-values: 'memory_limit=-1'
tools: 'composer:v2,flex'

- name: 'Determine composer cache directory'
- name: 'Get composer cache directory'
id: composer-cache
run: echo "::set-output name=directory::$(composer config cache-dir)"
run: echo "::set-output name=dir::$(composer config cache-files-dir)"

- name: 'Cache composer dependencies'
- name: 'Cache dependencies'
uses: actions/cache@v2
with:
path: ${{ steps.composer-cache.outputs.directory }}
key: ${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ matrix.php }}-composer-
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-php-${{ matrix.php }}-symfony-${{ matrix.symfony }}-${{ hashFiles('**/composer.json') }}-flags-${{ matrix.composer-flags }}
restore-keys: ${{ runner.os }}-composer-

- name: 'Fixup Composer'
if: matrix.php == 8.0
run: |
echo "::group::Fixup Composer platform config for third-parties deps not PHP 8 ready yet"
composer config platform.php 7.4.99
echo "::endgroup::"
- name: 'Allow unstable packages'
run: composer config minimum-stability dev
if: ${{ matrix.allow-unstable }}

- name: 'Install dependencies'
run: |
echo "::group::composer update"
composer update --no-progress --ansi
composer update --prefer-dist --no-progress ${{ matrix.composer-flags }} --ansi
echo "::endgroup::"
echo "::group::install phpunit"
vendor/bin/simple-phpunit install
echo "::endgroup::"
env:
SYMFONY_REQUIRE: "${{ matrix.symfony }}"

- name: 'Run tests'
run: vendor/bin/simple-phpunit --testdox
Expand All @@ -126,9 +161,6 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 10

strategy:
fail-fast: false # don't cancel other matrix jobs on failure

steps:
- name: 'Checkout'
uses: actions/checkout@v2
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/vendor
/composer.lock
/.php_cs.cache
/.php-cs-fixer.cache
/.phpunit.result.cache
/node_modules
/php-cs-fixer.phar
24 changes: 13 additions & 11 deletions .php_cs → .php-cs-fixer.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,29 @@
->exclude('tests/fixtures/app/build')
;

return PhpCsFixer\Config::create()
return (new PhpCsFixer\Config)
->setUsingCache(true)
->setRiskyAllowed(true)
->setFinder($finder)
->setRules([
'@Symfony' => true,
'php_unit_namespaced' => true,
'psr0' => false,
'array_syntax' => ['syntax' => 'short'],
'concat_space' => ['spacing' => 'one'],
'phpdoc_summary' => false,
'header_comment' => ['header' => $header],
'native_function_invocation' => ['include' => ['@compiler_optimized']],
'ordered_imports' => true,
'php_unit_namespaced' => true,
'php_unit_method_casing' => false,
'phpdoc_annotation_without_dot' => false,
'phpdoc_summary' => false,
'phpdoc_order' => true,
'array_syntax' => ['syntax' => 'short'],
'ordered_imports' => true,
'phpdoc_trim_consecutive_blank_line_separation' => true,
'psr_autoloading' => true,
'single_line_throw' => false,
'simplified_null_return' => false,
'header_comment' => ['header' => $header],
'yoda_style' => [],
'no_superfluous_phpdoc_tags' => true,
'native_function_invocation' => ['include' => ['@compiler_optimized']],
'void_return' => true,
'single_line_throw' => false,
'yoda_style' => [],

// @see https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/5495
'binary_operator_spaces' => ['operators' => ['|' => null]]
])
Expand Down
44 changes: 39 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
.PHONY: dist

PHP_CS_FIXER_VERSION=v3.3.2

##########
# Colors #
##########
Expand All @@ -25,25 +27,57 @@ php8:
# Install #
###########

setup:
composer global require --no-progress --no-scripts --no-plugins symfony/flex

install: setup
install:
rm -f composer.lock
composer config minimum-stability --unset
composer update --prefer-dist

install-54: setup
install-54: export SYMFONY_REQUIRE = 5.4.*@dev
install-54:
rm -f composer.lock
composer config minimum-stability dev
composer update
composer config minimum-stability --unset

install-60: setup
install-60: export SYMFONY_REQUIRE = 6.0.*@dev
install-60:
rm -f composer.lock
composer config minimum-stability dev
composer update
composer config minimum-stability --unset

########
# Lint #
########

lint: lint-phpcsfixer lint-phpstan lint-twig lint-yaml lint-composer

fix-phpcsfixer: php8
fix-phpcsfixer:
vendor/bin/php-cs-fixer fix

lint-composer:
composer validate --strict

php-cs-fixer.phar:
wget --no-verbose https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/${PHP_CS_FIXER_VERSION}/php-cs-fixer.phar
chmod +x php-cs-fixer.phar

update-php-cs-fixer.phar:
rm -f php-cs-fixer.phar
make php-cs-fixer.phar

lint-phpcsfixer: php8
lint-phpcsfixer: php-cs-fixer.phar
lint-phpcsfixer:
vendor/bin/php-cs-fixer fix --dry-run --diff
./php-cs-fixer.phar fix --dry-run --diff

fix-phpcsfixer: php8
fix-phpcsfixer: php-cs-fixer.phar
fix-phpcsfixer:
./php-cs-fixer.phar fix

lint-phpstan:
vendor/bin/phpstan analyse --memory-limit=-1
Expand Down
56 changes: 30 additions & 26 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,50 +32,54 @@
}
},
"prefer-stable": true,
"minimum-stability": "dev",
"require": {
"php": ">=7.4",
"ext-dom": "*",
"erusev/parsedown": "^1.7.4",
"symfony/asset": "^5.1",
"symfony/config": "^5.1",
"symfony/console": "^5.1",
"symfony/css-selector": "^5.1",
"symfony/dependency-injection": "^5.1",
"symfony/dom-crawler": "^5.1",
"symfony/event-dispatcher": "^5.1",
"symfony/filesystem": "^5.1",
"symfony/finder": "^5.1",
"symfony/http-foundation": "^5.1",
"symfony/http-kernel": "^5.1",
"symfony/mime": "^5.1",
"symfony/process": "^5.1",
"symfony/property-access": "^5.1",
"symfony/routing": "^5.1",
"symfony/serializer": "^5.1",
"symfony/string": "^5.1",
"symfony/yaml": "^5.1",
"symfony/asset": "^5.1|^6.0",
"symfony/config": "^5.1|^6.0",
"symfony/console": "^5.1|^6.0",
"symfony/css-selector": "^5.1|^6.0",
"symfony/dependency-injection": "^5.1|^6.0",
"symfony/dom-crawler": "^5.1|^6.0",
"symfony/event-dispatcher": "^5.1|^6.0",
"symfony/filesystem": "^5.1|^6.0",
"symfony/finder": "^5.1|^6.0",
"symfony/http-foundation": "^5.1|^6.0",
"symfony/http-kernel": "^5.1|^6.0",
"symfony/mime": "^5.1|^6.0",
"symfony/process": "^5.1|^6.0",
"symfony/property-access": "^5.1|^6.0",
"symfony/routing": "^5.1|^6.0",
"symfony/serializer": "^5.1|^6.0",
"symfony/string": "^5.1|^6.0",
"symfony/yaml": "^5.1|^6.0",
"twig/twig": "^2.12|^3.0"
},
"require-dev": {
"doctrine/annotations": "^1.9",
"ekino/phpstan-banned-code": "^0.4",
"friendsofphp/php-cs-fixer": "^2.16",
"phpspec/prophecy-phpunit": "^2.0",
"phpstan/phpstan": "^0.12.32",
"symfony/browser-kit": "^5.1",
"symfony/expression-language": "^5.1",
"symfony/framework-bundle": "^5.1",
"psr/log": "^1",
"symfony/browser-kit": "^5.1|^6.0",
"symfony/expression-language": "^5.1|^6.0",
"symfony/framework-bundle": "^5.1|^6.0",
"symfony/monolog-bundle": "^3.7",
"symfony/phpunit-bridge": "^5.1",
"symfony/twig-bridge": "^5.1",
"symfony/twig-bundle": "^5.1"
"symfony/phpunit-bridge": "^5.3|^6.0",
"symfony/stopwatch": "^5.1|^6.0",
"symfony/twig-bridge": "^5.1|^6.0",
"symfony/twig-bundle": "^5.1|^6.0"
},
"extra": {
"branch-alias": {
"dev-master": "0.x-dev"
}
},
"config": {
"preferred-install": {
"*": "dist"
},
"sort-packages": true
}
}
4 changes: 2 additions & 2 deletions phpunit.xml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
<php>
<server name="KERNEL_CLASS" value="App\Kernel" />
<server name="SHELL_VERBOSITY" value="-1" />
<server name="SYMFONY_PHPUNIT_VERSION" value="9.4" />
<server name="SYMFONY_PHPUNIT_REMOVE" value="" />
<env name="SYMFONY_DEPRECATIONS_HELPER" value="max[direct]=0&amp;max[self]=0&amp;max[total]=9999&amp;verbose=1" />
<env name="SYMFONY_PHPUNIT_VERSION" value="9.5"/>
<env name="SYMFONY_PHPUNIT_REMOVE" value="" />
</php>

<testsuites>
Expand Down
Loading

0 comments on commit 0fe2c10

Please sign in to comment.