Skip to content

coverallsapp/github-action #298

coverallsapp/github-action

coverallsapp/github-action #298

Workflow file for this run

name: CI
on:
push:
pull_request:
env:
PSALM_PHP_VERSION: "8.3"
COVERAGE_PHP_VERSION: "8.3"
jobs:
psalm:
name: Psalm
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ env.PSALM_PHP_VERSION }}
- name: Install composer dependencies
uses: ramsey/composer-install@v3
- name: Run Psalm
run: vendor/bin/psalm --show-info=false --find-unused-psalm-suppress --no-progress
phpunit-mysql:
name: PHPUnit MySQL
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
php-version:
- "8.1"
- "8.2"
- "8.3"
emulate-prepares:
- "ON"
- "OFF"
services:
mysql:
image: "mysql:8.0"
ports:
- "3306:3306"
options: >-
--health-cmd "mysqladmin ping --silent"
env:
MYSQL_ALLOW_EMPTY_PASSWORD: true
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: pdo_mysql
coverage: xdebug
- name: Install composer dependencies
uses: ramsey/composer-install@v3
- name: Run PHPUnit
run: vendor/bin/phpunit
env:
ENGINE: PDO_MYSQL
EMULATE_PREPARES: ${{ matrix.emulate-prepares }}
if: ${{ matrix.php-version != env.COVERAGE_PHP_VERSION }}
- name: Run PHPUnit with coverage
run: |
mkdir -p mkdir -p build/logs
vendor/bin/phpunit --coverage-clover build/logs/clover.xml
env:
ENGINE: PDO_MYSQL
EMULATE_PREPARES: ${{ matrix.emulate-prepares }}
if: ${{ matrix.php-version == env.COVERAGE_PHP_VERSION }}
- name: Upload coverage report to Coveralls
run: vendor/bin/php-coveralls --coverage_clover=build/logs/clover.xml -v
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
if: ${{ matrix.php-version == env.COVERAGE_PHP_VERSION }}
phpunit-mariadb:
name: PHPUnit MariaDB
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
php-version:
- "8.1"
emulate-prepares:
- "ON"
- "OFF"
services:
mariadb:
image: "mariadb:10.1"
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
options: >-
--health-cmd "mysqladmin ping --silent"
ports:
- "3306:3306"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: pdo_mysql
coverage: xdebug
- name: Install composer dependencies
uses: ramsey/composer-install@v3
- name: Run PHPUnit with coverage
run: |
mkdir -p mkdir -p build/logs
vendor/bin/phpunit --coverage-clover build/logs/clover.xml
env:
ENGINE: PDO_MYSQL
EMULATE_PREPARES: ${{ matrix.emulate-prepares }}
- name: Upload coverage report to Coveralls
run: vendor/bin/php-coveralls --coverage_clover=build/logs/clover.xml -v
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
phpunit-postgres:
name: PHPUnit PostgreSQL
runs-on: ubuntu-22.04
strategy:
matrix:
php-version:
- "8.1"
services:
postgis:
image: "postgis/postgis:16-3.4"
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- "5432:5432"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: pdo_pgsql
coverage: xdebug
- name: Install composer dependencies
uses: ramsey/composer-install@v3
- name: Run PHPUnit with coverage
run: |
mkdir -p mkdir -p build/logs
vendor/bin/phpunit --coverage-clover build/logs/clover.xml
env:
ENGINE: PDO_PGSQL
- name: Upload coverage report to Coveralls
run: vendor/bin/php-coveralls --coverage_clover=build/logs/clover.xml -v
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
phpunit-sqlite:
name: PHPUnit SQLite
runs-on: ubuntu-22.04
strategy:
matrix:
php-version:
- "8.1"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: sqlite3
ini-values: sqlite3.extension_dir=/usr/lib/x86_64-linux-gnu
coverage: xdebug
- name: Install SpatiaLite
run: sudo apt install libsqlite3-mod-spatialite
- name: Install composer dependencies
uses: ramsey/composer-install@v3
- name: Run PHPUnit with coverage
run: |
mkdir -p mkdir -p build/logs
vendor/bin/phpunit --coverage-clover build/logs/clover.xml
env:
ENGINE: SQLite3
- name: Send coverage to Coveralls (parallel)
uses: coverallsapp/github-action@v1
with:
parallel: true
flag-name: phpunit-sqlite
phpunit-geos:
name: PHPUnit GEOS
runs-on: ubuntu-22.04
strategy:
matrix:
php-version:
- "8.1"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: geos
coverage: xdebug
- name: Install composer dependencies
uses: ramsey/composer-install@v3
- name: Run PHPUnit with coverage
run: |
mkdir -p mkdir -p build/logs
vendor/bin/phpunit --coverage-clover build/logs/clover.xml
env:
ENGINE: GEOS
- name: Upload coverage report to Coveralls
run: vendor/bin/php-coveralls --coverage_clover=build/logs/clover.xml -v
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
close-coveralls-parallel-build:
needs:
- phpunit-mysql
- phpunit-mariadb
- phpunit-postgres
- phpunit-sqlite
- phpunit-geos
runs-on: ubuntu-latest
steps:
- name: Close parallel build
uses: coverallsapp/github-action@v1
with:
parallel-finished: true