Skip to content

Codeception Tests

Codeception Tests #478

Workflow file for this run

name: "Codeception Tests"
on:
schedule:
- cron: '0 3 * * 1,3,5'
pull_request:
branches:
- "[0-9]+.[0-9]+"
- "[0-9]+.x"
paths-ignore:
- 'doc/**'
- 'src/Resources/public/**'
push:
branches:
- "[0-9]+.[0-9]+"
- "[0-9]+.x"
paths-ignore:
- 'doc/**'
- 'src/Resources/public/**'
env:
PIMCORE_PROJECT_ROOT: ${{ github.workspace }}
APP_ENV: test
PIMCORE_TEST: 1
PIMCORE_TEST_DB_DSN: "mysql://root@127.0.0.1:33006/pimcore_test"
PIMCORE_TEST_REDIS_DSN: "redis://127.0.0.1:63379"
jobs:
codeception-tests:
name: "Codeception tests"
runs-on: "ubuntu-20.04"
continue-on-error: ${{ matrix.experimental }}
strategy:
matrix:
include:
- { php-version: 8.0, database: "mariadb:10.3", dependencies: lowest, experimental: false, require_admin_bundle: false }
- { php-version: 8.1, database: "mariadb:10.11", dependencies: highest, experimental: false, require_admin_bundle: true }
- { php-version: 8.2, database: "mariadb:10.11", dependencies: highest, experimental: false, require_admin_bundle: true }
- { php-version: 8.2, database: "mariadb:10.11", dependencies: highest, pimcore_version: "11.x-dev as 11.0.0", experimental: true, require_admin_bundle: true }
services:
redis:
image: redis
ports:
- 63379:6379
mariadb:
image: "${{ matrix.database }}"
ports:
- 33006:3306
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
steps:
- name: "Checkout code"
uses: "actions/checkout@v2"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
extensions: imagick
ini-values: display_errors=On, display_startup_errors=On, error_reporting=32767
php-version: "${{ matrix.php-version }}"
- name: Verify MariaDB connection
run: |
cp .github/ci/files/.my.cnf ~/.my.cnf
while ! mysqladmin ping --silent; do
sleep 1
done
- name: "Setup Pimcore environment"
env:
REQUIRE_ADMIN_BUNDLE: "${{ matrix.require_admin_bundle }}"
run: |
mysql -e "CREATE DATABASE pimcore_test CHARSET=utf8mb4;"
chmod 755 .github/ci/scripts/setup-environment.sh
.github/ci/scripts/setup-environment.sh
- name: "Update Pimcore version"
env:
PIMCORE_VERSION: "${{ matrix.pimcore_version }}"
run: |
if [ ! -z "$PIMCORE_VERSION" ]; then
composer require --no-update pimcore/pimcore:"${PIMCORE_VERSION}"
fi
- name: "Install dependencies with Composer"
uses: "ramsey/composer-install@v2"
with:
dependency-versions: "${{ matrix.dependencies }}"
#
# - name: "Test environment infos"
# run: |
# mysql -e "SELECT VERSION();"
# php -i
# ./bin/console pimcore:system:requirements:check
- name: "Sync Metadata Storage"
run: |
bin/console doctrine:migrations:sync-metadata-storage -vvv
- name: "Run Codeception"
run: "vendor/bin/codecept run -c . -vvv --xml"