Revamp testing

Add a composer.json file

Bring in squizlabs/php_codesniffer and phpcompatibility/php-compatibility via composer

Do php linting via jakub-onderka/php-parallel-lint
This commit is contained in:
Sam Reed 2020-04-25 00:49:05 +01:00 committed by Reedy
parent 79d2786638
commit 01052bf8af
2 changed files with 22 additions and 18 deletions

View file

@ -13,24 +13,9 @@ matrix:
allow_failures:
- php: nightly
before_install:
- if [[ "$SNIFF" == "1" ]]; then export PHPCS_DIR=/tmp/phpcs; fi
- if [[ "$SNIFF" == "1" ]]; then export PHPCOMPAT_DIR=/tmp/PHPCompatibility; fi
# Install PHP CodeSniffer
- if [[ "$SNIFF" == "1" ]]; then git clone -b master --depth 1 https://github.com/squizlabs/PHP_CodeSniffer.git $PHPCS_DIR; fi
# Install PHP Compatibility Standard
- if [[ "$SNIFF" == "1" ]]; then git clone -b master --depth 1 https://github.com/wimg/PHPCompatibility.git $PHPCOMPAT_DIR; fi
# Set install path for PHP Compatibility Standard
# @link https://github.com/squizlabs/PHP_CodeSniffer/wiki/Configuration-Options#setting-the-installed-standard-paths
- if [[ "$SNIFF" == "1" ]]; then $PHPCS_DIR/bin/phpcs --config-set installed_paths $PHPCOMPAT_DIR; fi
# Refresh path
- if [[ "$SNIFF" == "1" ]]; then phpenv rehash; fi
before_script:
- composer install --prefer-source --quiet --no-interaction
# Run test script commands.
# All commands must exit with code 0 on success. Anything else is considered failure.
script:
# Search for PHP syntax errors
- find -L . -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l
# Run PHPCS
- if [[ "$SNIFF" == "1" ]]; then $PHPCS_DIR/bin/phpcs . ; fi
- composer test

19
composer.json Normal file
View file

@ -0,0 +1,19 @@
{
"name": "billz/raspap-webgui",
"homepage": "https://raspap.com/",
"license": "GPL-3.0",
"keywords": ["raspberrypi"],
"require-dev": {
"jakub-onderka/php-parallel-lint": "1.0.0",
"phpcompatibility/php-compatibility": "^9.3.5",
"squizlabs/php_codesniffer": "^3.5.5"
},
"scripts": {
"lint": "parallel-lint . --exclude vendor",
"phpcs": "phpcs -p -s --config-set installed_paths vendor/phpcompatibility/php-compatibility .",
"test": [
"composer lint",
"composer phpcs"
]
}
}