File: .github/workflows/tests.yml

Recommend this page to a friend!
  Classes of Kacper Rowinski  >  PHP MySQL Replication  >  .github/workflows/tests.yml  >  Download  
File: .github/workflows/tests.yml
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: PHP MySQL Replication
Client to get MySQL replication events in pure PHP
Author: By
Last change:
Date: 7 months ago
Size: 1,514 bytes
 

Contents

Class file image Download
name: PHP Tests
on: [push, pull_request]
jobs:
  build:

    runs-on: ubuntu-latest

    services:
      mysql:
        image: mysql:5.7
        env:
          MYSQL_ROOT_PASSWORD: root
          MYSQL_DATABASE: mysqlreplication_test
        ports:
          - 3306/tcp

    strategy:
      matrix:
        php: [ '7.3', '7.4', '8.0' ]

    steps:
      - name: Checkout
        uses: actions/checkout@v2
        
      - name: Start mysql service
        run: |
          echo -e "\n[mysqld]\nserver-id=1\nbinlog_format=row\nlog_bin=/var/log/mysql/mysql-bin.log" | sudo tee -a /etc/mysql/my.cnf
          sudo /etc/init.d/mysql start
          mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -proot

      - name: Setup PHP, with composer and extensions
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php }}
          coverage: xdebug

      - name: Validate composer.json and composer.lock
        run: composer validate

      - name: Cache Composer packages
        id: composer-cache
        uses: actions/cache@v2
        with:
          path: vendor
          key: ${{ runner.os }}-${{ matrix.php }}-${{ hashFiles('**/composer.lock') }}
          restore-keys: |
            ${{ runner.os }}-${{ matrix.php }}-

      - name: Install dependencies
        if: steps.composer-cache.outputs.cache-hit != 'true'
        run: composer install --prefer-dist --no-progress --no-suggest

      - name: Run tests
        run: vendor/bin/phpunit --coverage-text
For more information send a message to info at phpclasses dot org.