name: Lint

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  phpcs:
    runs-on: ubuntu-20.04
    strategy:
      matrix:
        php-versions: ['7.4']
    steps:
      - uses: actions/checkout@v4
      - uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php-versions }}
          tools: phpcs
      - run: phpcs . --standard=phpcs.xml --warning-severity=0 --extensions=php -p

  phpcompatibility:
    runs-on: ubuntu-20.04
    strategy:
      matrix:
        php-versions: ['7.4']
    steps:
      - uses: actions/checkout@v4
      - uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php-versions }}
      - run: composer global config --no-plugins allow-plugins.dealerdirect/phpcodesniffer-composer-installer true
      - run: composer global require dealerdirect/phpcodesniffer-composer-installer
      - run: composer global require phpcompatibility/php-compatibility
      - run: ~/.composer/vendor/bin/phpcs . --standard=phpcompatibility.xml --warning-severity=0 --extensions=php -p

  executable_php_files_check:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v4
      - run: |
          if find -name "*.php" -executable -type f -print -exec false {} +
          then
            echo 'Good, no executable php scripts found'
          else
            echo 'Please unmark php scripts above as non-executable'
            exit 1
          fi