Skip to content

Commit cadb0a3

Browse files
committed
CI configs
1 parent 1e8eabc commit cadb0a3

File tree

5 files changed

+2189
-0
lines changed

5 files changed

+2189
-0
lines changed

.scrutinizer.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
filter:
2+
paths: [src/*]
3+
excluded_paths: [examples/*, tests/*]
4+
tools:
5+
external_code_coverage: true
6+
php_analyzer: true
7+
php_hhvm: true
8+
php_sim: true
9+
php_pdepend: true
10+
sensiolabs_security_checker: true
11+
php_changetracking: true
12+
php_code_sniffer:
13+
enabled: true
14+
config:
15+
tab_width: 0
16+
encoding: utf8
17+
ruleset: ~
18+
standard: "PSR2"
19+
php_cs_fixer:
20+
enabled: true
21+
config:
22+
level: psr2
23+
php_mess_detector:
24+
enabled: true
25+
config:
26+
ruleset: ~
27+
code_size_rules:
28+
cyclomatic_complexity: true
29+
npath_complexity: true
30+
excessive_method_length: true
31+
excessive_class_length: true
32+
excessive_parameter_list: true
33+
excessive_public_count: true
34+
too_many_fields: true
35+
too_many_methods: true
36+
excessive_class_complexity: true
37+
design_rules:
38+
exit_expression: true
39+
eval_expression: true
40+
goto_statement: true
41+
number_of_class_children: true
42+
depth_of_inheritance: true
43+
coupling_between_objects: true
44+
unused_code_rules:
45+
unused_private_field: true
46+
unused_local_variable: true
47+
unused_private_method: true
48+
unused_formal_parameter: true
49+
naming_rules:
50+
short_variable:
51+
minimum: 3
52+
long_variable:
53+
maximum: 20
54+
short_method:
55+
minimum: 3
56+
constructor_conflict: true
57+
constant_naming: true
58+
boolean_method_name: true
59+
controversial_rules:
60+
superglobals: true
61+
camel_case_class_name: true
62+
camel_case_property_name: true
63+
camel_case_method_name: true
64+
camel_case_parameter_name: true
65+
camel_case_variable_name: true
66+
checks:
67+
php:
68+
code_rating: true

.travis.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
language: php
2+
sudo: false
3+
4+
## Cache composer bits
5+
cache:
6+
directories:
7+
- $HOME/.composer/cache
8+
9+
## PHP versions we test against
10+
php:
11+
- 7.0
12+
- 7.1
13+
- nightly
14+
15+
## Environment variables
16+
env:
17+
- coverage=true
18+
19+
## Build matrix for lowest and highest possible targets
20+
matrix:
21+
include:
22+
- php: 7.0
23+
env:
24+
- dependencies=lowest
25+
- coverage=false
26+
- php: 7.1
27+
env:
28+
- dependencies=lowest
29+
- coverage=false
30+
- php: nightly
31+
env:
32+
- dependencies=lowest
33+
- coverage=false
34+
- php: 7.0
35+
env:
36+
- dependencies=highest
37+
- coverage=false
38+
- php: 7.1
39+
env:
40+
- dependencies=highest
41+
- coverage=false
42+
- php: nightly
43+
env:
44+
- dependencies=highest
45+
- coverage=false
46+
47+
## Install or update dependencies
48+
install:
49+
- composer validate
50+
- if [ "$coverage" = "false" ]; then phpenv config-rm xdebug.ini || :; fi;
51+
- if [ -z "$dependencies" ]; then composer install --prefer-dist; fi;
52+
- if [ "$dependencies" = "lowest" ]; then composer update --prefer-lowest --prefer-dist -n; fi;
53+
- if [ "$dependencies" = "highest" ]; then composer update --prefer-dist -n; fi;
54+
- composer show
55+
56+
## Run the actual test
57+
script:
58+
- if [ "$coverage" = "false" ]; then make ci; fi;
59+
- if [ "$coverage" = "true" ]; then make ci-with-coverage; fi;
60+
61+
## Gather coverage and set it to coverage servers
62+
after_script: make ci-coverage

appveyor.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
build: false
2+
platform:
3+
- x64
4+
clone_folder: c:\projects\php-project-workspace
5+
6+
## Build matrix for lowest and highest possible targets
7+
environment:
8+
matrix:
9+
- dependencies: lowest
10+
php_ver_target: 7.0
11+
- dependencies: lowest
12+
php_ver_target: 7.1
13+
- dependencies: current
14+
php_ver_target: 7.0
15+
- dependencies: current
16+
php_ver_target: 7.1
17+
- dependencies: highest
18+
php_ver_target: 7.0
19+
- dependencies: highest
20+
php_ver_target: 7.1
21+
22+
## Cache composer bits
23+
cache:
24+
- '%LOCALAPPDATA%\Composer\files -> composer.lock'
25+
26+
## Set up environment varriables
27+
init:
28+
- SET PATH=C:\Program Files\OpenSSL;c:\tools\php;%PATH%
29+
- SET COMPOSER_NO_INTERACTION=1
30+
- SET PHP=1
31+
- SET ANSICON=121x90 (121x90)
32+
33+
## Install PHP and composer, and run the appropriate composer command
34+
install:
35+
- IF EXIST c:\tools\php (SET PHP=0)
36+
- ps: appveyor-retry cinst -y php --version ((choco search php --exact --all-versions -r | select-string -pattern $Env:php_ver_target | Select-Object -first 1) -replace '[php|]','')
37+
- cd c:\tools\php
38+
- IF %PHP%==1 copy php.ini-production php.ini /Y
39+
- IF %PHP%==1 echo date.timezone="UTC" >> php.ini
40+
- IF %PHP%==1 echo extension_dir=ext >> php.ini
41+
- IF %PHP%==1 echo extension=php_openssl.dll >> php.ini
42+
- IF %PHP%==1 echo extension=php_mbstring.dll >> php.ini
43+
- IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini
44+
- IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat
45+
- appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar
46+
- cd c:\projects\php-project-workspace
47+
- IF %dependencies%==lowest appveyor-retry composer update --prefer-lowest --no-progress --profile -n
48+
- IF %dependencies%==current appveyor-retry composer install --no-progress --profile
49+
- IF %dependencies%==highest appveyor-retry composer update --no-progress --profile -n
50+
- composer show
51+
52+
## Run the actual test
53+
test_script:
54+
- cd c:\projects\php-project-workspace
55+
- vendor/bin/phpunit -c phpunit.xml.dist

composer.json

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
{
2+
"name": "api-clients/middleware-delay",
3+
"description": "Request pool middleware",
4+
"license": "MIT",
5+
"authors": [
6+
{
7+
"name": "Cees-Jan Kiewiet",
8+
"email": "ceesjank@gmail.com"
9+
}
10+
],
11+
"require": {
12+
"php": "^7.0",
13+
"api-clients/middleware": "^1.0"
14+
},
15+
"require-dev": {
16+
"api-clients/test-utilities": "^2.0"
17+
},
18+
"autoload": {
19+
"psr-4": {
20+
"ApiClients\\Middleware\\Delay\\": "src/"
21+
}
22+
},
23+
"autoload-dev": {
24+
"psr-4": {
25+
"ApiClients\\Tests\\Middleware\\Delay\\": "tests/"
26+
}
27+
},
28+
"config": {
29+
"sort-packages": true
30+
},
31+
"scripts": {
32+
"ensure-installed": "composer install --ansi -n -q",
33+
"cs": [
34+
"@ensure-installed",
35+
"phpcs --standard=PSR2 src/"
36+
],
37+
"unit": [
38+
"@ensure-installed",
39+
"phpunit --colors=always -c phpunit.xml.dist"
40+
],
41+
"unit-coverage": [
42+
"@ensure-installed",
43+
"phpunit --colors=always -c phpunit.xml.dist --coverage-text --coverage-html covHtml --coverage-clover ./build/logs/clover.xml"
44+
],
45+
"lint-php": [
46+
"@ensure-installed",
47+
"parallel-lint --exclude vendor ."
48+
],
49+
"qa-all": [
50+
"@lint-php",
51+
"@cs",
52+
"@unit"
53+
],
54+
"qa-all-coverage": [
55+
"@lint-php",
56+
"@cs",
57+
"@unit-coverage"
58+
],
59+
"qa-windows": [
60+
"@lint-php",
61+
"@cs",
62+
"@unit"
63+
],
64+
"qa-ci": [
65+
"@qa-all"
66+
],
67+
"qa-ci-coverage": [
68+
"@qa-all-coverage"
69+
],
70+
"qa-ci-windows": [
71+
"@qa-windows"
72+
],
73+
"qa-contrib": [
74+
"@qa-all"
75+
],
76+
"ci-coverage": [
77+
"if [ -f ./build/logs/clover.xml ]; then wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover ./build/logs/clover.xml; fi"
78+
]
79+
}
80+
}

0 commit comments

Comments
 (0)