Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,69 @@ jobs:
echo "No PHPUnit config or binary found; nothing to test."
fi

# The test job above is the gate and runs one version, because the
# branch ruleset requires a status check named exactly "test". This one
# covers the rest of the range composer.json claims to support, so
# ">=8.2" is a fact rather than a hope, and includes 8.5 so the newest
# release is proved too. Derived from the job above, so it keeps the same
# services, extensions, coverage and steps.
compat:
name: compat (PHP ${{ matrix.php }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: ['8.2', '8.3', '8.5']
services:
mariadb:
image: mariadb:11
env:
MARIADB_ROOT_PASSWORD: password
MARIADB_DATABASE: framework-tests
ports:
- 3306:3306
options: >-
--health-cmd="healthcheck.sh --connect --innodb_initialized"
--health-interval=10s --health-timeout=5s --health-retries=15
redis:
image: redis:7
ports:
- 6379:6379
options: >-
--health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=10
memcached:
image: memcached:1.6
ports:
- 11211:11211
env:
DB_HOST: 127.0.0.1
DB_PORT: 3306
DB_USERNAME: root
DB_PASSWORD: password
DB_SCHEMA: framework-tests
REDIS_HOST: 127.0.0.1
MEMCACHED_HOST: 127.0.0.1
steps:
- uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: intl, sodium, gd, mysqli, curl, fileinfo, json, dom, simplexml, mbstring, zip, redis, memcached, apcu
coverage: xdebug
ini-values: apc.enable_cli=1, mysqli.allow_local_infile=1, xdebug.mode="develop,coverage"
- name: Validate composer.json
run: composer validate --no-check-publish
- name: Install dependencies
run: composer install --no-interaction --prefer-dist --no-progress
- name: Run tests
run: |
if [ -f vendor/bin/phpunit ] && { [ -f phpunit.xml.dist ] || [ -f phpunit.xml ]; }; then
vendor/bin/phpunit
else
echo "No PHPUnit config or binary found; nothing to test."
fi

lint:
name: lint
runs-on: ubuntu-latest
Expand Down
Loading