1name: Linux Unit Tests 2 3on: [push, pull_request] 4 5jobs: 6 run: 7 name: PHP ${{ matrix.php-versions }} 8 runs-on: ubuntu-latest 9 10 strategy: 11 matrix: 12 php-versions: ['7.2', '7.3', '7.4'] 13 fail-fast: false 14 15 services: 16 mysql: 17 image: mysql:5.7 18 env: 19 MYSQL_ALLOW_EMPTY_PASSWORD: yes 20 ports: 21 - 3306:3306 22 postgres: 23 image: postgres:latest 24 env: 25 POSTGRES_PASSWORD: postgres 26 ports: 27 - 5432:5432 28 steps: 29 - name: Checkout 30 uses: actions/checkout@v2 31 32 - name: Setup PHP 33 uses: shivammathur/setup-php@v2 34 with: 35 php-version: ${{ matrix.php-versions }} 36 extensions: mbstring, intl, PDO, pdo_sqlite, pdo_mysql, pdo_pgsql, bz2 37 38 - name: Setup problem matchers 39 run: | 40 echo ::add-matcher::${{ runner.tool_cache }}/php.json 41 echo ::add-matcher::${{ runner.tool_cache }}/phpunit.json 42 43 - name: Setup PHPUnit 44 run: | 45 php _test/fetchphpunit.php 46 cd _test 47 cp mysql.conf.php.dist mysql.conf.php 48 cp pgsql.conf.php.dist pgsql.conf.php 49 50 - name: Run PHPUnit 51 run: | 52 cd _test 53 php phpunit.phar --verbose --stderr 54