-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
128 lines (120 loc) · 2.83 KB
/
.gitlab-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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
image: jakzal/phpqa:php8.2
cache:
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths:
- vendor/
- .env
stages:
- install
- build
- tests
- metrics
before_script:
- apt-get update -yqq && apt-get install -y gpg
- apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
- docker-php-ext-install bcmath zip bz2 pdo pdo_mysql
- pecl install xdebug && docker-php-ext-enable xdebug
- curl --show-error --silent https://getcomposer.org/installer | php
- mv composer.phar /usr/local/bin/composer
- composer install --prefer-dist --no-ansi --no-interaction --no-progress --no-scripts
services:
- mysql:latest
variables:
APP_ENV: "local"
APP_KEY: "base64:GiV6POMQ3sJ98JfJjUrLp82zEGrzO7afosXaYG7n+Vo="
APP_DEBUG: "true"
XDEBUG_MODE: "coverage"
DB_DATABASE: $MYSQL_DATABASE
DB_USERNAME: "root"
DB_PASSWORD: $MYSQL_ROOT_PASSWORD
MYSQL_DATABASE: $MYSQL_DATABASE
MYSQL_ROOT_PASSWORD: $MYSQL_ROOT_PASSWORD
GITHUB_SHA: $CI_COMMIT_SHA
GITHUB_REF: $CI_COMMIT_REF_NAME
tests:
stage: tests
script:
- php artisan test --coverage
artifacts:
paths:
- ./storage/logs # for debugging
expire_in: 7 days
when: always
#dusk:
# stage: tests
# script:
# - ./vendor/bin/sail dusk
# artifacts:
# paths:
# - ./storage/logs # for debugging
# - ./tests/Browser/screenshots
# - ./tests/Browser/console
# expire_in: 7 days
# when: always
#php-metrics:
# stage: metrics
# script:
# - phpmetrics --report-html=var/php-metrics app tests
# artifacts:
# paths:
# - var/php-metrics/
# allow_failure: true
#
#php-mess-detector:
# stage: metrics
# script:
# - wget -c https://gist.githubusercontent.com/slayerfat/2b3cc4faf94d2863b505/raw/5229a520c69010c6c13fd9a66d14309c214c241a/phpmd-ruleset.xml
# - phpmd app,tests text phpmd-ruleset.xml
# artifacts:
# paths:
# - var/phpmd.html
# allow_failure: true
#
#php-assumptions:
# stage: metrics
# script:
# - phpa app tests
# allow_failure: true
#
#composer-unused:
# stage: metrics
# script:
# - composer-unused --no-progress --excludePackage=spatie/laravel-blade-javascript
# allow_failure: true
#
#php-copypaste-detector:
# stage: metrics
# script:
# - phpcpd --fuzzy app tests
# allow_failure: true
#
#php-churn:
# stage: metrics
# script:
# - churn run app tests
# allow_failure: true
#
#php-code-analyzer:
# stage: metrics
# script:
# - phpca app
# allow_failure: true
#
#php-code-fixer:
# stage: metrics
# script:
# - php-cs-fixer app tests
# allow_failure: true
#
#php-insights:
# stage: metrics
# script:
# - phpinsights
# allow_failure: true
#
#phpstan:
# stage: metrics
# script:
# - wget https://gist.githubusercontent.com/Korko/19ad2705a8a8632819aa8370fcb631b8/raw/d79f918004273b8823a5530e57141119eba69ac6/phpstan.neon
# - phpstan analyse -c phpstan.neon
# allow_failure: true