guibranco/Pancake

View on GitHub
.github/workflows/code-climate.yml

Summary

Maintainability
Test Coverage
name: Code Climate

on:
    push:
        branches:
            - main
    pull_request:
        types: [opened, synchronize, reopened]

jobs:
    codeclimate:
        name: CodeClimate
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v4
              with:
                  ref: ${{ github.event.pull_request.head.sha }}

            - name: Cache Composer dependencies
              uses: actions/cache@v4
              with:
                  path: /tmp/composer-cache
                  key: ${{ runner.os }}-${{ hashFiles('**/composer.lock') }}

            - name: Install dependencies
              uses: php-actions/composer@v6

            - name: PHPUnit Tests
              uses: php-actions/phpunit@v3
              with:
                  version: 11
                  php_version: 8.3
                  php_extensions: xdebug shmop
                  coverage_clover: coverage.xml
                  bootstrap: vendor/autoload.php
                  test_suffix: Test.php
                  args: --coverage-filter src tests
              env:
                  XDEBUG_MODE: coverage

            - name: Fix code coverage paths
              run: |
                  sed -i 's@'$GITHUB_WORKSPACE'@/github/workspace/@g' coverage.xml

            - name: Test & publish code coverage
              uses: paambaati/codeclimate-action@v9.0.0
              env:
                  CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
              with:
                  prefix: /app
                  coverageLocations: |
                      coverage.xml:clover