name: yii2-array-structure-validator
on:
  push:
    branches: [ master, dev ]
  pull_request:
    branches: [ master ]
    paths-ignore:
      - 'docs/**'
      - '*.md'
jobs:
  test:
    if: "!contains(github.event.head_commit.message, 'skip ci') && !contains(github.event.head_commit.message, 'ci skip')"
    name: yii2-array-structure-validator (PHP ${{ matrix.php-versions }})
    runs-on: ubuntu-latest
    strategy:
      fail-fast: true
      matrix:
        php-versions: [ '7.1', '7.2', '7.3', '7.4']
    steps:
    - uses: actions/checkout@v2
    - name: Setup PHP, with composer and extensions
      uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php
      with:
        php-version: ${{ matrix.php-versions }}
        extensions: mbstring, intl, gd, imagick, zip, dom, pgsql
    - name: Get composer cache directory
      id: composercache
      run: echo "::set-output name=dir::$(composer config cache-files-dir)"
    - name: Cache Composer packages
      id: composer-cache
      uses: actions/cache@v2
      with:
          path: ${{ steps.composercache.outputs.dir }}
          key: ${{ runner.os }}-php-${{ matrix.php-versions }}-${{ hashFiles('**/composer.json') }}
          restore-keys: |
            ${{ runner.os }}-php-${{ matrix.php-versions }}
    - name: Install deps
      run: composer install --prefer-dist --no-progress --no-suggest --optimize-autoloader
    - name: Unit tests
      run: php vendor/bin/phpunit
 
  |