diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml new file mode 100644 index 00000000..ae65eb30 --- /dev/null +++ b/.github/workflows/php.yml @@ -0,0 +1,47 @@ +name: PHP Tests + +on: + push: + branches: + - master + - release/* + pull_request: + branches: + - master + +jobs: + lint: + name: Static analysis for php ${{ matrix.php }} on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + php: ['5.6', '7.0', '7.1', '7.2', '7.3', '7.4'] + os: ['ubuntu-latest'] + include: + - php: '5.6' + allow_failure: true + - php: '7.0' + allow_failure: true + + steps: + - name: Checkout code base + uses: actions/checkout@v2 + + - name: Setup PHP + uses: shivammathur/setup-php@v1 + with: + php-version: ${{ matrix.php }} + tools: phpcs + + - name: Setup dependencies + run: composer require -n --no-progress overtrue/phplint + + - name: PHP Lint + if: success() || matrix.allow_failure + run: ./vendor/bin/phplint -n --exclude={^vendor/.*} -- . + + - name: PHP CodeSniffer + if: success() || matrix.allow_failure + run: phpcs -wps --colors diff --git a/.gitignore b/.gitignore index c81cea23..dd62331c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,10 @@ # Exclude all hidden files .* -# Except those related to Git and Travis CI +# Except those related to Git and GitHub !.git* -!.travis.yml +!.github* +!.phpcs.xml # Exclude files from composer install vendor/ diff --git a/.phpcs.xml b/.phpcs.xml new file mode 100644 index 00000000..3f233e2a --- /dev/null +++ b/.phpcs.xml @@ -0,0 +1,23 @@ + + + Sniff our code a while + + src/ + + + + + + + + + + + + + + + + + +