Skip to content

Tests

Tests #126

Workflow file for this run

name: Tests
on:
push:
branches: [ "main" ]
pull_request:
schedule:
- cron: "10 4 * * 2" # Every Tuesday at 4:10 AM UTC
permissions:
contents: read
jobs:
tests:
name: PHPUnit with PHP ${{ matrix.php-version }} ${{ matrix.dependencies }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- php-version: "8.1"
dependencies: "lowest"
composer-options: "--with pimcore/pimcore:10.5.*"
- php-version: "8.1"
dependencies: "highest"
phpunit-flags: "--fail-on-risky"
- php-version: "8.2"
dependencies: "highest"
phpunit-flags: "--fail-on-risky"
env:
MYSQL_HOST: 127.0.0.1
MYSQL_PORT: 3306
MYSQL_USER: root
MYSQL_PASSWORD: pimcore
MYSQL_DATABASE: pimcore
MYSQL_SERVER_VERSION: "10.11.5-MariaDB"
services:
mariadb:
image: mariadb:10.11.5
env:
MYSQL_ROOT_PASSWORD: pimcore
options: >-
--health-cmd="healthcheck.sh --connect --innodb_initialized"
--health-interval=10s
--health-timeout=5s
--health-retries=5
ports:
- 3306:3306
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: PHP Setup
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
ini-file: development
- name: Install dependencies
uses: ramsey/composer-install@v3
with:
dependency-versions: ${{ matrix.dependencies }}
composer-options: ${{ matrix.composer-options }}
- name: Validate lowest dependencies
if: matrix.dependencies == 'lowest'
run: |
composer require --dev dereuromark/composer-prefer-lowest --no-interaction
vendor/bin/validate-prefer-lowest
- name: Add Pimcore Admin UI
if: matrix.dependencies == 'highest'
run: composer require --dev pimcore/admin-ui-classic-bundle --no-interaction
- name: Execute tests
run: composer tests -- ${{ matrix.phpunit-flags }}