diff --git a/.gitattributes b/.gitattributes index 77c5393e..ce3b34e4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,3 +6,4 @@ /tests export-ignore /phpstan.neon.dist export-ignore /phpunit.xml.dist export-ignore +/tools export-ignore diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index 4c284b51..7899eb99 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -4,19 +4,44 @@ jobs: phpstan: name: PHPStan runs-on: ubuntu-latest + steps: - - uses: actions/checkout@master - - name: PHPStan - uses: docker://jakzal/phpqa:php8.2 + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 8.2 + + - name: Download dependencies + uses: ramsey/composer-install@v2 + + - name: Install PHPStan + uses: ramsey/composer-install@v2 with: - args: phpstan analyze --no-progress + composer-options: "--working-dir=tools/phpstan" + + - name: PHPStan + run: tools/phpstan/vendor/bin/phpstan analyze --no-progress --error-format=checkstyle php-cs-fixer: name: PHP-CS-Fixer runs-on: ubuntu-latest + steps: - - uses: actions/checkout@master - - name: PHP-CS-Fixer - uses: docker://jakzal/phpqa:php8.2 + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 with: - args: php-cs-fixer fix --config=.php_cs.dist.php --dry-run --diff + php-version: 8.2 + + - name: Install php-cs-fixer + uses: ramsey/composer-install@v2 + with: + composer-options: "--working-dir=tools/php-cs-fixer" + + - name: PHP-CS-Fixer + run: tools/php-cs-fixer/vendor/bin/php-cs-fixer fix --dry-run --diff --config=.php_cs.dist.php diff --git a/.gitignore b/.gitignore index d4e9ee90..68815a47 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,9 @@ /.idea/ -/.php_cs.cache +/.php-cs-fixer.cache /.phpunit.result.cache /composer.lock /composer.phar /phpunit.xml +/tools/*/composer.lock +/tools/*/vendor /vendor/ diff --git a/Makefile b/Makefile index 037bf566..bac31515 100644 --- a/Makefile +++ b/Makefile @@ -13,13 +13,16 @@ help: | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[32m%s\033[0m___%s\n", $$1, $$2}' | column -ts___ cs-lint: ## Verify check styles - @docker run --rm -v $(DIR):/project -w /project $(QA_IMAGE) php-cs-fixer fix --allow-risky=yes --dry-run -vvv + composer install --working-dir=tools/php-cs-fixer + tools/php-cs-fixer/vendor/bin/php-cs-fixer fix --dry-run --diff --config=.php_cs.dist.php cs-fix: ## Apply Check styles - @docker run --rm -v $(DIR):/project -w /project $(QA_IMAGE) php-cs-fixer fix --config=.php_cs.dist.php --allow-risky=yes -vvv + composer install --working-dir=tools/php-cs-fixer + tools/php-cs-fixer/vendor/bin/php-cs-fixer fix --diff --config=.php_cs.dist.php phpstan: ## Run PHPStan - @docker run --rm -v $(DIR):/project -w /project $(QA_IMAGE) phpstan analyse + composer install --working-dir=tools/phpstan + tools/phpstan/vendor/bin/phpstan analyze phpunit: ## Run phpunit -./vendor/bin/phpunit diff --git a/tools/php-cs-fixer/composer.json b/tools/php-cs-fixer/composer.json new file mode 100644 index 00000000..c6437213 --- /dev/null +++ b/tools/php-cs-fixer/composer.json @@ -0,0 +1,5 @@ +{ + "require": { + "friendsofphp/php-cs-fixer": "^3.40" + } +} diff --git a/tools/phpstan/composer.json b/tools/phpstan/composer.json new file mode 100644 index 00000000..1b3d323d --- /dev/null +++ b/tools/phpstan/composer.json @@ -0,0 +1,5 @@ +{ + "require": { + "phpstan/phpstan": "^1.10.46" + } +}