diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 000000000..e38d45624 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,51 @@ +name: Tests + +on: [push, pull_request] + +jobs: + tests: + name: Tests PHP ${{ matrix.php }} + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + php: [7.3, 7.4, 8.0] + experimental: [false] + include: + - php: 8.0 + analysis: true + - php: 8.1 + experimental: true + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Set up PHP ${{ matrix.php }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + coverage: xdebug + + - name: Install dependencies with Composer + uses: ramsey/composer-install@v1 + + - name: Coding standards + if: matrix.analysis + run: vendor/bin/phpcs + + - name: Static analysis + if: matrix.analysis + run: vendor/bin/phpstan + + - name: Tests + run: vendor/bin/phpunit --coverage-clover clover.xml + + - name: Upload coverage results to Coveralls + if: matrix.analysis + env: + COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + composer require php-coveralls/php-coveralls -n -W + vendor/bin/php-coveralls --coverage_clover=clover.xml -v diff --git a/composer.json b/composer.json index 7be1584bf..0fd93ded9 100644 --- a/composer.json +++ b/composer.json @@ -38,7 +38,7 @@ "psr/container": "^1.0" }, "require-dev": { - "squizlabs/php_codesniffer": "^2.5", + "squizlabs/php_codesniffer": "^3.6.0", "phpunit/phpunit": "^4.0" }, "provide": {