Skip to content

test

test #805

Workflow file for this run

name: UnitTest
on: [push, pull_request]
jobs:
build:
continue-on-error: ${{ matrix.experimental }}
strategy:
matrix:
php-versions: [ '8.2', '8.3' ]
experimental: [false]
include:
- php-versions: '8.4'
experimental: true
runs-on: ubuntu-latest
services:
memcached:
image: memcached:1.6-alpine
ports:
- 11211:11211
redis:
image: redis
ports:
- 6379/tcp
options: --entrypoint redis-server
steps:
- uses: actions/checkout@v2
# Memcached
# - name: Setup Memcached
# uses: niden/actions-memcached@v7
# MySQL
- name: Setup MySQL
uses: mirromutth/[email protected]
with:
mysql version: 5.7
mysql database: windwalker_test
mysql root password: ut1234
# PostgreSQL
- name: Setup PostgreSQL
run: docker run --rm --name=postgres -e POSTGRES_PASSWORD=ut1234 -e POSTGRES_DB=windwalker_test -p 5432:5432 -d postgres
# PHP
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: |
mbstring, intl, sodium, fileinfo, pdo, pdo_mysql, pdo_pgsql, pdo_sqlite, mysqli,
php-memcached, redis, sqlite3, swoole
coverage: none
# tools: php-cs-fixer, phpunit
- name: Get composer cache directory
id: composercache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache composer dependencies
uses: actions/cache@v2
with:
path: ${{ steps.composercache.outputs.dir }}
# Use composer.json for key, if composer.lock is not committed.
# key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install dependencies
run: composer update --prefer-dist --prefer-stable --no-progress --no-suggest #--ignore-platform-reqs
- name: Start PHP Server
run: php -S localhost:8100 bin/test-server.php &> /dev/null &
- name: Run test suite
run: php vendor/bin/phpunit --configuration phpunit.ci.xml
env:
REDIS_PORT: ${{ job.services.redis.ports['6379'] }}