diff options
author | vincent-peugnet <v.peugnet@free.fr> | 2020-04-25 17:53:44 +0200 |
---|---|---|
committer | vincent-peugnet <v.peugnet@free.fr> | 2020-04-25 17:53:44 +0200 |
commit | 0efeef6b6693d62675ec8a45e73c71f69e0a0362 (patch) | |
tree | 4b86b3bd62217fc4c60e2827e30a45209ce82605 /.github/workflows/php.yml | |
parent | bd16dc7c6fc630a6b59ca3b041dde146ab50c72b (diff) | |
parent | 385b3f4adf86606e03941171c136d8f2eb2b35c2 (diff) | |
download | wcms-0efeef6b6693d62675ec8a45e73c71f69e0a0362.tar.gz wcms-0efeef6b6693d62675ec8a45e73c71f69e0a0362.zip |
Merge branch master with implement-exception
Diffstat (limited to '.github/workflows/php.yml')
-rw-r--r-- | .github/workflows/php.yml | 99 |
1 files changed, 82 insertions, 17 deletions
diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index defd044..039daca 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -1,27 +1,92 @@ -name: build +name: checks on: - push: - branches: [ master ] - pull_request: - branches: [ master ] + - 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 - runs-on: ubuntu-latest + - 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 - steps: - - uses: actions/checkout@v2 + - name: Validate composer.json and composer.lock + run: composer validate - - 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: Install dependencies - run: composer install --prefer-dist --no-progress --no-suggest + - 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- - # Add a test script to composer.json, for instance: "test": "vendor/bin/phpunit" - # Docs: https://getcomposer.org/doc/articles/scripts.md + - name: Install dependencies + run: composer install --prefer-dist --no-progress --no-suggest - - name: Run test suite - run: make check -k + - name: PHPUnit + run: | + echo "::add-matcher::.github/matchers/phpunit.json" + make test + echo "::remove-matcher owner=phpunit::" + + - name: Coveralls publish + 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::" |