name: build

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

jobs:
  run:
      runs-on: ${{ matrix.operating-system }}
      strategy:
        matrix:
          operating-system: [ubuntu-latest]
          php-versions: ['7.3', '7.4', '8.1']
      name: PHP ${{ matrix.php-versions }}
 
      steps:
        - uses: actions/checkout@master
          
        - name: Setup PHP with Xdebug
          uses: shivammathur/setup-php@v2
          with:
            php-version: ${{ matrix.php-versions }}
            extensions: mbstring, pdo, pdo_mysql, intl, zip, redis, ctype, json
            coverage: xdebug
       
        - name: Create a folder for testing.
          run: sudo mkdir /home/runner/work/psr-http/psr-http/tmp
        
        - name: Make folder writable.
          run: sudo chmod 777 /home/runner/work/psr-http/psr-http/tmp

        - name: Install dependencies
          run: composer install --prefer-dist --no-interaction --dev

        - name: Update packages
          run: composer self-update

        - name: Run tests.
          run: composer test
