/
wercker.yml
59 lines (57 loc) · 1.82 KB
/
wercker.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
box:
id: php
ports:
- "8080"
dev:
steps:
- install-packages:
packages: git
- script:
name: install composer
code: curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
- script:
name: install dependencies
code: composer install --no-interaction
- internal/watch:
code: php -S 0.0.0.0:8080
reload: true
build:
steps:
- install-packages:
packages: git
- script:
name: Install xdebug
code: pecl install xdebug
- script:
name: Enable xdebug
code: docker-php-ext-enable xdebug
- script:
name: Install zip extension
code: apt install zip unzip
- script:
name: install composer
code: curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
- script:
name: install dependencies
code: composer install --no-interaction
- script:
name: Serve application
code: php -S localhost:8080 >> /dev/null &
- script:
name: PHPUnit tests
code: vendor/bin/phpunit --coverage-text --configuration phpunit.xml
- script:
name: Infection analysis
code: XDEBUG_MODE=coverage ./vendor/bin/infection --min-msi=90 --min-covered-msi=90 --threads=4 --configuration=./infection.json.dist
- script:
name: Coverage files
code: XDEBUG_MODE=coverage ./vendor/bin/phpunit --coverage-clover=coverage.xml
- script:
name: Coverage check
code: vendor/bin/coverage-check coverage.xml 100 --only-percentage
- script:
name: PHPStan analysis
code: ./vendor/bin/phpstan analyse
- script:
name: Upload coverage to Codecov
code: bash <(curl -s https://codecov.io/bash)