-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
workflow und phpstan level 5 CS (#465)
* workflow und phpstan level 5 CS
- Loading branch information
Showing
322 changed files
with
4,829 additions
and
52,532 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
name: PHP-CS-Fixer | ||
|
||
on: | ||
push: | ||
branches: [ master, main ] | ||
pull_request: | ||
branches: [ master, main ] | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
code-style: | ||
|
||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write # for Git to git apply | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Setup PHP | ||
uses: shivammathur/setup-php@v2 | ||
with: | ||
php-version: '8.1' | ||
extensions: gd, intl, pdo_mysql | ||
coverage: none # disable xdebug, pcov | ||
|
||
# install dependencies from composer.json | ||
- name: Install test dependencies | ||
env: | ||
COMPOSER: composer.json | ||
run: composer install --prefer-dist --no-progress | ||
|
||
# run php-cs-fixer | ||
- name: Run PHP CS Fixer | ||
run: composer cs-dry | ||
|
||
# commit and push fixed files | ||
# - uses: stefanzweifel/git-auto-commit-action@v4 | ||
# with: | ||
# commit_message: Apply php-cs-fixer changes |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
name: PHPUnit | ||
|
||
on: | ||
push: | ||
branches: [ master, main ] | ||
pull_request: | ||
branches: [ master, main ] | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
phpunit: | ||
|
||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write # for Git to git apply | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
# setup PHP v8, install some extensions | ||
- name: Setup PHP | ||
uses: shivammathur/setup-php@v2 | ||
with: | ||
php-version: '8.2' | ||
extensions: gd, intl, pdo_mysql | ||
coverage: none # disable xdebug, pcov | ||
|
||
# download the latest REDAXO release and unzip it | ||
# credits https://blog.markvincze.com/download-artifacts-from-a-latest-github-release-in-sh-and-powershell/ | ||
- name: Download latest REDAXO release | ||
run: | | ||
LATEST_RELEASE=$(curl -L -s -H 'Accept: application/json' https://github.com/redaxo/redaxo/releases/latest) | ||
REDAXO_VERSION=$(echo $LATEST_RELEASE | sed -e 's/.*"tag_name":"\([^"]*\)".*/\1/') | ||
echo "Downloaded REDAXO $REDAXO_VERSION" | ||
curl -Ls -o redaxo.zip https://github.com/redaxo/redaxo/releases/download/$REDAXO_VERSION/redaxo_$REDAXO_VERSION.zip | ||
unzip -oq redaxo.zip -d redaxo_cms | ||
rm redaxo.zip | ||
# start mysql service, create a database called redaxo5, apply config patch | ||
- name: Init database | ||
run: | | ||
sudo /etc/init.d/mysql start | ||
mysql -uroot -h127.0.0.1 -proot -e 'create database redaxo5;' | ||
# run REDAXO setup with the following parameters | ||
# Language: de | ||
# DB password: root | ||
# Create DB: no | ||
# Admin username: admin | ||
# Admin password: adminpassword | ||
# Error E-mail: [email protected] | ||
- name: Setup REDAXO | ||
run: | | ||
php redaxo_cms/redaxo/bin/console setup:run -n --lang=de_de --agree-license --db-host=127.0.0.1 --db-name=redaxo5 --db-password=root --db-createdb=no --db-setup=normal --admin-username=admin --admin-password=adminpassword [email protected] --ansi | ||
php redaxo_cms/redaxo/bin/console config:set --type boolean debug.enabled true | ||
php redaxo_cms/redaxo/bin/console config:set --type boolean debug.throw_always_exception true | ||
# copy Addon files, ignore some directories... | ||
# install the addon | ||
# if the addon name does not match the repository name, ${{ github.event.repository.name }} must be replaced with the addon name | ||
# if additional addons are needed, they can be installed via the console commands | ||
# see: https://www.redaxo.org/doku/main/basis-addons#console | ||
- name: Copy and install Addons | ||
run: | | ||
rsync -av --exclude='./vendor' --exclude='.github' --exclude='.git' --exclude='redaxo_cms' './' 'redaxo_cms/redaxo/src/addons/${{ github.event.repository.name }}' | ||
redaxo_cms/redaxo/bin/console package:install 'cronjob' | ||
redaxo_cms/redaxo/bin/console package:install 'phpmailer' | ||
redaxo_cms/redaxo/bin/console install:download 'yform' '4.*' | ||
redaxo_cms/redaxo/bin/console package:install 'yform' | ||
redaxo_cms/redaxo/bin/console install:download 'yrewrite' '2.*' | ||
redaxo_cms/redaxo/bin/console package:install 'yrewrite' | ||
redaxo_cms/redaxo/bin/console package:install '${{ github.event.repository.name }}' | ||
# install dependencies from composer.json | ||
- name: Install test dependencies | ||
working-directory: redaxo_cms/redaxo/src/addons/${{ github.event.repository.name }} | ||
env: | ||
COMPOSER: composer.json | ||
run: composer install --prefer-dist --no-progress | ||
|
||
- name: Setup Problem Matchers for PHPUnit | ||
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" | ||
|
||
# run unit tests, see composer.json | ||
- name: Run phpunit | ||
working-directory: redaxo_cms/redaxo/src/addons/${{ github.event.repository.name }} | ||
run: composer test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name: Publish release | ||
|
||
on: | ||
release: | ||
types: | ||
- published | ||
|
||
jobs: | ||
redaxo_publish: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: shivammathur/setup-php@v2 | ||
with: | ||
php-version: "8.2" | ||
- uses: ramsey/composer-install@v2 | ||
with: | ||
composer-options: "--no-dev" | ||
- uses: FriendsOfREDAXO/installer-action@v1 | ||
with: | ||
myredaxo-username: ${{ secrets.MYREDAXO_USERNAME }} | ||
myredaxo-api-key: ${{ secrets.MYREDAXO_API_KEY }} | ||
description: ${{ github.event.release.body }} | ||
|
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
name: rexstan | ||
|
||
on: | ||
push: | ||
branches: [ master, main ] | ||
pull_request: | ||
branches: [ master, main ] | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
rexstan: | ||
env: | ||
ADDON_KEY: ${{ github.event.repository.name }} | ||
|
||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write # for Git to git apply | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
# setup PHP v8, install some extensions | ||
- name: Setup PHP | ||
uses: shivammathur/setup-php@v2 | ||
with: | ||
php-version: '8.2' | ||
extensions: gd, intl, pdo_mysql | ||
coverage: none # disable xdebug, pcov | ||
|
||
# download the latest REDAXO release and unzip it | ||
# credits https://blog.markvincze.com/download-artifacts-from-a-latest-github-release-in-sh-and-powershell/ | ||
- name: Download latest REDAXO release | ||
run: | | ||
LATEST_RELEASE=$(curl -L -s -H 'Accept: application/json' https://github.com/redaxo/redaxo/releases/latest) | ||
REDAXO_VERSION=$(echo $LATEST_RELEASE | sed -e 's/.*"tag_name":"\([^"]*\)".*/\1/') | ||
echo "Downloaded REDAXO $REDAXO_VERSION" | ||
curl -Ls -o redaxo.zip https://github.com/redaxo/redaxo/releases/download/$REDAXO_VERSION/redaxo_$REDAXO_VERSION.zip | ||
unzip -oq redaxo.zip -d redaxo_cms | ||
rm redaxo.zip | ||
# start mysql service, create a database called redaxo5, apply config patch | ||
- name: Init database | ||
run: | | ||
sudo /etc/init.d/mysql start | ||
mysql -uroot -h127.0.0.1 -proot -e 'create database redaxo5;' | ||
# run REDAXO setup with the following parameters | ||
# Language: de | ||
# DB password: root | ||
# Create DB: no | ||
# Admin username: admin | ||
# Admin password: adminpassword | ||
# Error E-mail: [email protected] | ||
- name: Setup REDAXO | ||
run: | | ||
php redaxo_cms/redaxo/bin/console setup:run -n --lang=de_de --agree-license --db-host=127.0.0.1 --db-name=redaxo5 --db-password=root --db-createdb=no --db-setup=normal --admin-username=admin --admin-password=adminpassword [email protected] --ansi | ||
php redaxo_cms/redaxo/bin/console config:set --type boolean debug.enabled true | ||
php redaxo_cms/redaxo/bin/console config:set --type boolean debug.throw_always_exception true | ||
# copy Addon files, ignore some directories... | ||
# install the addon | ||
# if the addon name does not match the repository name, ${{ github.event.repository.name }} must be replaced with the addon name | ||
# install latest rexstan | ||
# if additional addons are needed, they can be installed via the console commands | ||
# see: https://www.redaxo.org/doku/main/basis-addons#console | ||
- name: Copy and install Addons | ||
run: | | ||
rsync -av --exclude='./vendor' --exclude='.github' --exclude='.git' --exclude='redaxo_cms' './' 'redaxo_cms/redaxo/src/addons/${{ github.event.repository.name }}' | ||
redaxo_cms/redaxo/bin/console install:download 'rexstan' '1.*' | ||
redaxo_cms/redaxo/bin/console package:install 'rexstan' | ||
redaxo_cms/redaxo/bin/console package:install 'cronjob' | ||
redaxo_cms/redaxo/bin/console package:install 'phpmailer' | ||
redaxo_cms/redaxo/bin/console install:download 'yform' '4.*' | ||
redaxo_cms/redaxo/bin/console package:install 'yform' | ||
redaxo_cms/redaxo/bin/console install:download 'yrewrite' '2.*' | ||
redaxo_cms/redaxo/bin/console package:install 'yrewrite' | ||
redaxo_cms/redaxo/bin/console package:install '${{ github.event.repository.name }}' | ||
# install dependencies from composer.json | ||
- name: Install test dependencies | ||
working-directory: redaxo_cms/redaxo/src/addons/${{ github.event.repository.name }} | ||
env: | ||
COMPOSER: composer.json | ||
run: composer install --prefer-dist --no-progress | ||
|
||
# execute rexstan.php to create the needed user-config.neon | ||
- name: Execute .tools/rexstan.php | ||
run: php -f redaxo/src/addons/${{ github.event.repository.name }}/.tools/rexstan.php | ||
working-directory: redaxo_cms | ||
|
||
# run rexstan | ||
- id: rexstan | ||
name: Run rexstan | ||
run: redaxo_cms/redaxo/bin/console rexstan:analyze |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
|
||
vendor/ | ||
vendor/ | ||
.phpunit.result.cache | ||
.php-cs-fixer.cache |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
<?php | ||
|
||
declare(strict_types=1); | ||
|
||
$finder = (new PhpCsFixer\Finder()) | ||
->in(__DIR__) | ||
; | ||
|
||
return (new Redaxo\PhpCsFixerConfig\Config()) | ||
->setFinder($finder) | ||
; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?php | ||
|
||
unset($REX); | ||
$REX['REDAXO'] = true; | ||
$REX['HTDOCS_PATH'] = '../../../../'; | ||
$REX['BACKEND_FOLDER'] = 'redaxo'; | ||
$REX['LOAD_PAGE'] = false; | ||
|
||
require __DIR__.'../../../../core/boot.php'; | ||
require __DIR__.'../../../../core/packages.php'; | ||
|
||
// use original error handlers of the tools | ||
rex_error_handler::unregister(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
<?php | ||
/** | ||
* boot redaxo and load packages | ||
* necessary to use \rexstan\RexStanUserConfig::save() | ||
*/ | ||
unset($REX); | ||
$REX['REDAXO'] = true; | ||
$REX['HTDOCS_PATH'] = './'; | ||
$REX['BACKEND_FOLDER'] = 'redaxo'; | ||
$REX['LOAD_PAGE'] = false; | ||
|
||
require './redaxo/src/core/boot.php'; | ||
require './redaxo/src/core/packages.php'; | ||
|
||
/** | ||
* rexstan config | ||
*/ | ||
$extensions = [ | ||
// '../../../../redaxo/src/addons/rexstan/config/rex-superglobals.neon', | ||
// '../../../../redaxo/src/addons/rexstan/vendor/phpstan/phpstan/conf/bleedingEdge.neon', | ||
// '../../../../redaxo/src/addons/rexstan/vendor/phpstan/phpstan-strict-rules/rules.neon', | ||
'../../../../redaxo/src/addons/rexstan/vendor/phpstan/phpstan-deprecation-rules/rules.neon', | ||
'../../../../redaxo/src/addons/rexstan/config/phpstan-phpunit.neon', | ||
// '../../../../redaxo/src/addons/rexstan/config/phpstan-dba.neon', | ||
// '../../../../redaxo/src/addons/rexstan/config/cognitive-complexity.neon', | ||
// '../../../../redaxo/src/addons/rexstan/config/code-complexity.neon', | ||
// '../../../../redaxo/src/addons/rexstan/config/dead-code.neon' | ||
]; | ||
|
||
// get addon key from environment variable | ||
$addon = ['../../../../redaxo/src/addons/' . getenv('ADDON_KEY') . '/']; | ||
|
||
/** | ||
* save config | ||
* @param int $level the level to use | ||
* @param array $addon the addon to use | ||
* @param array $extensions the extensions to use | ||
* @param int $phpVersion the php version to use | ||
*/ | ||
\rexstan\RexStanUserConfig::save(5, $addon, $extensions, 80203); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.