name: yii2-muffin-factory
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-muffin-factory (PHP ${{ matrix.php-versions }})
        runs-on: ubuntu-latest
        strategy:
            fail-fast: false
            matrix:
                php-versions: ['7.2','7.3', '7.4', '8.0']
        steps:
            - uses: actions/checkout@v2
            - uses: mirromutth/
[email protected]
              with:
                    mysql version: '5.7'
                    mysql database: 'yii2_ext_test'
                    mysql user: 'tester'
                    mysql password: 'test'
            - 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, pdo, mysql, pdo_mysql
                  tools: composer:v2
            - 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: Run migrations
              run:  php tests/yii migrate/up --interactive=0
            - name: Unit tests
              run: php vendor/bin/phpunit