name: CI on: [push] jobs: check-composer: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install PHP uses: shivammathur/setup-php@v2 with: php-version: 8.2 - name: Validate composer.json run: composer validate php-linting: runs-on: ubuntu-latest strategy: matrix: php-version: - 7.4 - 8.0 - 8.1 - 8.2 steps: - name: Checkout uses: actions/checkout@v2 - name: Install PHP uses: shivammathur/setup-php@v2 with: php-version: "${{ matrix.php-version }}" - name: PHP lint run: "find *.php src tests -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l" check-cgl: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install PHP uses: shivammathur/setup-php@v2 with: php-version: 8.2 - name: Get Composer Cache Directory id: composer-cache run: | echo "::set-output name=dir::$(composer config cache-files-dir)" - uses: actions/cache@v1 with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: | ${{ runner.os }}-composer- - name: Install dependencies run: composer install --prefer-dist --no-progress --no-suggest - name: Check CGL run: ./vendor/bin/phpcs tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install PHP uses: shivammathur/setup-php@v2 with: php-version: 8.2 - name: Get Composer Cache Directory id: composer-cache run: | echo "::set-output name=dir::$(composer config cache-files-dir)" - uses: actions/cache@v1 with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: | ${{ runner.os }}-composer- - name: Install dependencies run: composer install --prefer-dist --no-progress --no-suggest - name: PHPUnit Tests run: ./vendor/bin/phpunit --testdox