name: tests on: push: branches: - master - feature/tests - feature/feature-tests pull_request: schedule: - cron: '0 0 * * *' jobs: linux_tests: runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] php: ["8.1", "8.2", "8.3", "8.4"] stability: [prefer-lowest, prefer-stable] name: PHP ${{ matrix.php }} - ${{ matrix.stability }} - ${{ matrix.os }} steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} extensions: json, posix, pcntl ini-values: error_reporting=E_ALL tools: composer:v2 coverage: xdebug - name: Install dependencies uses: nick-fields/retry@v3 with: timeout_minutes: 5 max_attempts: 5 command: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress --ansi - name: Static analysis run: composer analyze - name: Execute tests run: composer test