diff --git a/.github/workflows/codacy.yml b/.github/workflows/codacy.yml new file mode 100644 index 0000000..c0158f6 --- /dev/null +++ b/.github/workflows/codacy.yml @@ -0,0 +1,49 @@ +name: Codacy + +on: + push: + branches: + - main + pull_request: + types: [opened, synchronize, reopened] + +jobs: + codacy: + name: Codacy + 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 + coverage_clover: coverage.xml + bootstrap: vendor/autoload.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: Run codacy-coverage-reporter + uses: codacy/codacy-coverage-reporter-action@v1 + with: + project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} + coverage-reports: coverage.xml