123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- name: Tests
- on:
- push: ~
- pull_request: ~
- permissions:
- contents: read
- jobs:
- phpcs:
- name: PHPCS
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - uses: shivammathur/setup-php@v2
- with:
- php-version: 7.4
- extensions: curl, mbstring, yaml
- coverage: none
- tools: composer:v2, cs2pr
- - run: composer update --no-progress
- - run: vendor/bin/phpcs -q --report=checkstyle | cs2pr
- phpunit:
- name: PHPUnit on ${{ matrix.php }} ${{ matrix.composer-flags }}
- runs-on: ubuntu-latest
- continue-on-error: ${{ !matrix.stable }}
- strategy:
- fail-fast: false
- matrix:
- php: ['7.4', '8.0', '8.1']
- stable: [true]
- coverage: [true]
- composer-flags: ['']
- include:
- - php: '7.4'
- stable: true
- coverage: false
- composer-flags: '--prefer-lowest'
- - php: '8.2'
- stable: false
- coverage: false
- composer-flags: '--ignore-platform-req=php'
- steps:
- - uses: actions/checkout@v3
- with:
- fetch-depth: 0
- - uses: shivammathur/setup-php@v2
- with:
- php-version: ${{ matrix.php }}
- extensions: curl, mbstring, yaml
- coverage: pcov
- tools: composer:v2
- - run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- - run: composer update --no-progress ${{ matrix.composer-flags }}
- - run: vendor/bin/phpunit --no-coverage
- if: ${{ !matrix.coverage }}
- - run: vendor/bin/phpunit --coverage-text --coverage-clover=coverage.clover
- if: ${{ matrix.coverage }}
- - run: php vendor/bin/ocular code-coverage:upload --format=php-clover coverage.clover
- if: ${{ matrix.coverage }}
- continue-on-error: true
- phpstan:
- name: PHPStan
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - uses: shivammathur/setup-php@v2
- with:
- php-version: 7.4
- extensions: curl, mbstring, yaml
- coverage: none
- tools: composer:v2
- - run: composer update --no-progress
- - run: vendor/bin/phpstan analyse --no-progress
- psalm:
- name: Psalm
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - uses: shivammathur/setup-php@v2
- with:
- php-version: 7.4
- extensions: curl, mbstring, yaml
- coverage: none
- tools: composer:v2
- - run: composer update --no-progress
- - run: vendor/bin/psalm --no-progress --stats --threads=$(nproc) --output-format=github --shepherd
- docs-lint:
- permissions:
- contents: read # for actions/checkout to fetch code
- statuses: write # for github/super-linter/slim to mark status of each linter run
- name: Markdownlint
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - uses: github/super-linter/slim@v5.0.0
- env:
- DEFAULT_BRANCH: main
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- LINTER_RULES_PATH: '.' # From https://github.com/github/super-linter/pull/859#issuecomment-709625090
- VALIDATE_MARKDOWN: true
- MARKDOWN_CONFIG_FILE: docs/.markdownlint.yml
- FILTER_REGEX_INCLUDE: '/docs/.*'
|