.github/workflows/php.yaml
name: GitHub_CI
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
jobs:
build:
strategy:
matrix:
operating-system: [ubuntu-latest]
php-versions: ['7.1', '7.2', '7.3', '7.4', '8.0', '8.1']
mysql-versions: ['mysql:5.7', 'mariadb:10.7','mariadb:10.6','mariadb:10.5','mariadb:10.4','mariadb:10.3','mariadb:10.2']
runs-on: ${{ matrix.operating-system }}
services:
# Setup MYSQL
mysql-service:
image: ${{ matrix.mysql-versions }}
env:
MYSQL_ROOT_PASSWORD: 'crab'
MYSQL_DATABASE: pc_core_tests
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, intl
ini-values: post_max_size=256M, log_errors=1
tools: pecl
- name: Check PHP Version
run: php -v
- name: Clear existing composer
run: rm -rf wordpress && rm -rf vendor && rm -rf composer.lock
- name: Validate composer.json and composer.lock
run: composer validate
- name: Install dependencies
run: composer clearcache && rm -rf composer.lock && composer install --prefer-dist --no-suggest
- name: Run Tests
env:
environment_github: true
run: composer all
- name: Codecov
run: bash <(curl -s https://codecov.io/bash) -t ${{ secrets.CODECOV }}