-
Notifications
You must be signed in to change notification settings - Fork 0
73 lines (71 loc) · 2.65 KB
/
test.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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
name: phpunit
on: push
jobs:
phpunit:
runs-on: ubuntu-latest
strategy:
matrix:
php: [8.1, 8.2, 8.3, 8.4]
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: json,mbstring,pcre,yaml
coverage: xdebug
env:
fail-fast: true
- name: clone repo config
run: |
git clone --depth 1 --branch arche https://github.com/acdh-oeaw/arche-docker-config.git config
chmod -x config/run.d/*sh config/initScripts/40-updateVocabularies.php
chmod +x config/run.d/*xdebug.sh config/run.d/*postgresql.sh config/run.d/*config-yaml.sh config/run.d/*resolver.sh
cp .github/workflows/test-postgresql_config.sh config/run.d/
cp .github/workflows/test-resources.sh config/initScripts/testResources.sh
- name: run repo docker
run: |
mkdir log
docker run --name arche -p 80:80 -p 5432:5432 -v `pwd`/log:/home/www-data/log -v `pwd`/config:/home/www-data/config -e USER_UID=`id -u` -e USER_GID=`id -g` -d acdhch/arche
- name: composer update
run: |
composer update
- name: config.yaml
run: |
vendor/zozlak/yaml-merge/bin/yaml-edit.php --src config/yaml/schema.yaml --src config/yaml/local.yaml.sample --src '{"dbConnStr":{"guest":"pgsql: host=localhost port=5432 user=www-data"}}' tests/config.yaml
cat tests/config.yaml
- name: wait
run: |
while [ "`grep '# INIT SCRIPTS ENDED' log/initScripts.log | wc -l`" != "1" ]; do
tail log/initScripts.log || true
echo "Waiting until repository is ready..."
echo "-----"
sleep 10
done
cat log/initScripts.log
- name: test
run: |
mkdir -p build/logs
XDEBUG_MODE=coverage ./vendor/bin/phpunit --display-deprecations --display-phpunit-deprecations --display-notices --display-warnings
- name: coveralls
run: |
export COVERALLS_RUN_LOCALLY=1
export COVERALLS_REPO_TOKEN=${{ secrets.coverallsToken }}
rm -fR composer.json composer.lock vendor
composer require php-coveralls/php-coveralls
php vendor/bin/php-coveralls -v
phpstan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: 8.4
- uses: actions/cache@v4
with:
path: vendor
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: composer
run: composer update
- name: phpstan
run: vendor/bin/phpstan analyse -l 8 src tests || true