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/mysql-action@v1.1
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
|