name: Build

concurrency:
  group: production
  cancel-in-progress: true

on:
  push:
    branches:
      - master
  pull_request:
    types: [opened, synchronize, reopened]
jobs:
  tests:
    name: Tests and SonarCloud
    runs-on: ubuntu-latest

    steps:
      - uses: shivammathur/setup-php@v2
        with:
          php-version: "8.1"
          coverage: "xdebug"
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0
      - name: Install composer dependencies
        run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
      - name: Static Checks & Test
        run: ./vendor/bin/phpunit
      - name: SonarCloud Scan
        uses: SonarSource/sonarcloud-github-action@master
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}  # Needed to get PR information, if any
          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
