-
Notifications
You must be signed in to change notification settings - Fork 1
50 lines (46 loc) · 1.69 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
name: PHP Composer
on: [push, pull_request]
jobs:
build:
strategy:
matrix:
php-versions: [ '8.2', '8.3' ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
# Memcached
- name: Setup Memcached
uses: KeisukeYamashita/memcached-actions@v1
# 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: pdo, pdo_mysql, pdo_pgsql, pdo_sqlite, mysqli, sqlite3
# coverage: xdebug
# 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 }}
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