.github/workflows/tests.yml
name: Unit Testing
on:
push:
branches: [ "5.0.x" ]
pull_request:
branches: [ "5.0.x" ]
permissions:
contents: read
jobs:
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
php: [8.1, 8.2]
stability: [prefer-stable]
name: PHP ${{ matrix.php }} - ${{ matrix.stability }}
steps:
- uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: curl, gmp, json, mbstring, openssl
tools: composer:v2
coverage: xdebug
- name: Install dependencies
run: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress
- name: Download Codeclimate Tools
if: ${{ github.event_name != 'pull_request' }}
run: curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter && chmod +x ./cc-test-reporter
- name: Init Codeclimate Tools
if: ${{ github.event_name != 'pull_request' }}
run: ./cc-test-reporter before-build
- name: Run Tests
run: vendor/bin/phpunit --coverage-clover build/logs/clover.xml
- name: Publish code coverage
if: ${{ github.event_name != 'pull_request' }}
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
run: ./cc-test-reporter after-build -t clover