name: Tests on: push: pull_request: schedule: - cron: '0 4 * * *' jobs: tests: runs-on: ubuntu-22.04 timeout-minutes: 10 services: mariadb: image: mariadb env: MARIADB_MYSQL_LOCALHOST_USER: 1 MARIADB_MYSQL_LOCALHOST_GRANTS: USAGE MYSQL_DATABASE: framework-tests MYSQL_ROOT_PASSWORD: password ports: - 3306:3306 options: --health-cmd="healthcheck.sh --su-mysql --connect --innodb_initialized" --health-interval=10s --health-timeout=5s --health-retries=3 memcached: image: memcached ports: - 11211:11211 redis: image: redis ports: - 6379:6379 name: PHP 8.3 steps: - name: Checkout uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: 8.3 tools: composer coverage: xdebug - name: Install dependencies run: composer update - name: Composer normalize run: composer normalize --dry-run --indent-size=4 --indent-style=space - name: Coding Standard run: vendor/bin/php-cs-fixer fix --diff --dry-run --verbose - name: PHPMD run: vendor/bin/phpmd src xml phpmd.xml - name: PHPStan run: vendor/bin/phpstan analyse -vvv - name: PHPUnit env: DB_HOST: 127.0.0.1 MEMCACHED_HOST: 127.0.0.1 REDIS_HOST: 127.0.0.1 run: vendor/bin/phpunit - name: Upload coverage results to Coveralls env: COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | mkdir -p build/logs/ cp build/coverage/clover.xml build/logs/clover.xml composer global require php-coveralls/php-coveralls php-coveralls --coverage_clover=build/logs/clover.xml -v tests-latest: runs-on: ubuntu-22.04 timeout-minutes: 10 services: mariadb: image: mariadb env: MARIADB_MYSQL_LOCALHOST_USER: 1 MARIADB_MYSQL_LOCALHOST_GRANTS: USAGE MYSQL_DATABASE: framework-tests MYSQL_ROOT_PASSWORD: password ports: - 3306:3306 options: --health-cmd="healthcheck.sh --su-mysql --connect --innodb_initialized" --health-interval=10s --health-timeout=5s --health-retries=3 memcached: image: memcached ports: - 11211:11211 redis: image: redis ports: - 6379:6379 name: PHP Latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: latest tools: composer coverage: xdebug - name: Install dependencies run: composer update - name: PHPUnit env: DB_HOST: 127.0.0.1 MEMCACHED_HOST: 127.0.0.1 REDIS_HOST: 127.0.0.1 run: vendor/bin/phpunit