name: "CI"

on:
  pull_request:
    paths:
      - "**.php"
      - "bin/posthog"
      - "phpcs.xml"
      - "phpunit.xml"
      - ".github/workflows/php.yml"

jobs:
  phpunit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - uses: php-actions/composer@v6

      - uses: php-actions/phpunit@v3
        with:
          php_extensions: xdebug
          bootstrap: vendor/autoload.php
          configuration: phpunit.xml
          args: --coverage-text
        env:
          XDEBUG_MODE: coverage

  phpcs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0 # important!

      # we may use whatever way to install phpcs, just specify the path on the next step
      # however, curl seems to be the fastest
      - name: Install PHP_CodeSniffer
        run: |
          curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
          php phpcs.phar --version

      - uses: tinovyatkin/action-php-codesniffer@v1
        with:
          files: "**.php" # you may customize glob as needed
          phpcs_path: php phpcs.phar
          standard: phpcs.xml
