| name: CI
on: [push]
jobs:
  old:
    name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
    runs-on: ${{ matrix.operating-system }}
    strategy:
      matrix:
        operating-system: ['ubuntu-latest']
        php-versions: ['7.1', '7.2', '7.3']
        phpunit-versions: ['latest']
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php-versions }}
          extensions: mbstring, intl, sodium
          ini-values: post_max_size=256M, max_execution_time=180
          tools: psalm, phpunit:${{ matrix.phpunit-versions }}
      - name: Install dependencies
        run: composer install
      - name: Modernize dependencies
        run: composer require --dev "phpunit/phpunit:>=4"
      - name: PHPUnit tests
        uses: php-actions/phpunit@v2
        timeout-minutes: 30
        with:
          memory_limit: 256M
      - name: Static Analysis
        run: vendor/bin/psalm
  modern:
    name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
    runs-on: ${{ matrix.operating-system }}
    strategy:
      matrix:
        operating-system: ['ubuntu-latest']
        php-versions: ['7.4', '8.0']
        phpunit-versions: ['latest']
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php-versions }}
          extensions: mbstring, intl, sodium
          ini-values: post_max_size=256M, max_execution_time=180
          tools: psalm, phpunit:${{ matrix.phpunit-versions }}
      - name: Install dependencies
        run: composer install
      - name: PHPUnit tests
        uses: php-actions/phpunit@v2
        timeout-minutes: 30
        with:
          memory_limit: 256M
      - name: Static Analysis
        run: vendor/bin/psalm
 |