aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorn-peugnet <n.peugnet@free.fr>2020-04-23 15:38:17 +0200
committerVincent Peugnet <33429034+vincent-peugnet@users.noreply.github.com>2020-04-25 17:44:38 +0200
commit03d425bdd9a639446ae72ce6556d753f2f162f83 (patch)
tree37fda320a23b133e4db1033c3025ab3b6ef507a9 /.github/workflows
parent94714d94f82d49cf8536d16505c47aceffb01e91 (diff)
downloadwcms-03d425bdd9a639446ae72ce6556d753f2f162f83.tar.gz
wcms-03d425bdd9a639446ae72ce6556d753f2f162f83.zip
tests(ci): problemMatchers, 3 php versions, optims
Add problem matchers for phpcs, phpstan and phpunit. Add composer cache Test over multiple php version
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/php.yml88
1 files changed, 67 insertions, 21 deletions
diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml
index 479a9f9..039daca 100644
--- a/.github/workflows/php.yml
+++ b/.github/workflows/php.yml
@@ -1,46 +1,92 @@
-name: build
+name: checks
on:
- push
- pull_request
jobs:
- php-build:
+ test-php:
+ name: test (php ${{ matrix.php-versions }})
runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ php-versions: ['7.2', '7.3', '7.4']
steps:
- name: Git checkout
uses: actions/checkout@v2
+ - name: Setup PHP, with composer and extensions
+ uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php
+ with:
+ php-version: ${{ matrix.php-versions }}
+ coverage: xdebug
+
- name: Validate composer.json and composer.lock
run: composer validate
+ - name: Get composer cache directory
+ id: composer-cache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: Cache dependencies
+ uses: actions/cache@v1
+ with:
+ path: ${{ steps.composer-cache.outputs.dir }}
+ key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
+ restore-keys: |
+ ${{ runner.os }}-composer-
+
- name: Install dependencies
run: composer install --prefer-dist --no-progress --no-suggest
- - name: Run test suite
- run: make check -k
-
- - name: PHPStan xml report
- if: always()
+ - name: PHPUnit
run: |
- mkdir -p build/phpstan
- vendor/bin/phpstan analyse --no-progress --error-format=checkstyle > build/phpstan/checkstyle.xml
-
- - name: Analysis Publisher
- uses: digirati-labs/analysis-publisher@0.0.1
- if: failure()
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- args: >
- --report-type=checkstyle --path=**/build/phpcs/checkstyle.xml
- --report-type=checkstyle --path=**/build/phpstan/checkstyle.xml
- --publisher=github_check
+ echo "::add-matcher::.github/matchers/phpunit.json"
+ make test
+ echo "::remove-matcher owner=phpunit::"
- name: Coveralls publish
- if: always()
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
composer require --quiet --no-interaction cedx/coveralls
vendor/bin/coveralls build/phpunit/cov.xml
+
+ lint:
+ name: lint
+ runs-on: ubuntu-latest
+ steps:
+ - name: Git checkout
+ uses: actions/checkout@v2
+
+ - name: Validate composer.json and composer.lock
+ run: composer validate
+
+ - name: Get composer cache directory
+ id: composer-cache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: Cache dependencies
+ uses: actions/cache@v1
+ with:
+ path: ${{ steps.composer-cache.outputs.dir }}
+ key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
+ restore-keys: |
+ ${{ runner.os }}-composer-
+
+ - name: Install dependencies
+ run: composer install --prefer-dist --no-progress --no-suggest
+
+ - name: PHPCS
+ if: always()
+ run: |
+ echo "::add-matcher::.github/matchers/phpcs.json"
+ vendor/bin/phpcs --report=csv
+ echo "::remove-matcher owner=phpcs::"
+
+ - name: PHPStan
+ if: always()
+ run: |
+ echo "::add-matcher::.github/matchers/phpstan.json"
+ vendor/bin/phpstan analyse --error-format=raw --no-progress
+ echo "::remove-matcher owner=phpstan::"