eveseat/services

View on GitHub
.github/workflows/tests.yml

Summary

Maintainability
Test Coverage
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