9
9
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs
10
10
jobs :
11
11
build :
12
+ parameters : &jobParams
13
+ php_version :
14
+ type : string
15
+ symfony_version :
16
+ type : string
17
+ monolog_version :
18
+ type : string
12
19
docker :
13
- - image : ' hgiesenow/php:8.1 '
20
+ - image : ' hgiesenow/php:<< parameters.php_version >> '
14
21
steps :
15
22
- checkout
16
- - run : ' composer install --dev'
23
+ - run : ' composer require -W symfony/dom-crawler:"^<< parameters.symfony_version >>" symfony/property-access:"^<< parameters.symfony_version >>"; rm composer.lock'
24
+ - run : ' composer require --dev -W symfony/framework-bundle:"^<< parameters.symfony_version >>"; rm composer.lock'
25
+ - run : ' composer require --dev -W monolog/monolog:"^<< parameters.monolog_version >>"; rm composer.lock'
26
+ - run : ' if [ "5.4" == "<< parameters.symfony_version >>" ]; then composer require --dev -W symfony/swiftmailer-bundle:"^3.5"; fi'
17
27
- persist_to_workspace :
18
28
root : ' .'
19
29
paths : ' vendor'
20
30
phpunit :
31
+ parameters :
32
+ << : *jobParams
21
33
docker :
22
- - image : ' hgiesenow/php:8.1 '
34
+ - image : ' hgiesenow/php:<< parameters.php_version >> '
23
35
steps :
24
36
- checkout
25
37
- attach_workspace :
@@ -39,23 +51,39 @@ jobs:
39
51
- run : ' vendor/bin/php-cs-fixer fix --diff --dry-run src'
40
52
- run : ' vendor/bin/php-cs-fixer fix --diff --dry-run tests'
41
53
psalm :
54
+ parameters :
55
+ << : *jobParams
42
56
docker :
43
- - image : ' hgiesenow/php:8.1 '
57
+ - image : ' hgiesenow/php:<< parameters.php_version >> '
44
58
steps :
45
59
- checkout
46
60
- attach_workspace :
47
61
at : ' .'
48
- - run : ' vendor/bin/psalm'
62
+ - run : ' if [ "5.4" == "<< parameters.symfony_version >>" ]; then vendor/bin/psalm; else vendor/bin/psalm -c psalm-sf6.xml; fi '
49
63
50
64
# Invoke jobs via workflows
51
65
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
52
66
workflows :
53
67
test-workflow :
54
68
jobs :
55
- - build
69
+ - build :
70
+ name : ' build/php-<< matrix.php_version >>/sf-<< matrix.symfony_version >>/monolog-<< matrix.monolog_version >>'
71
+ matrix :
72
+ parameters : ¶ms
73
+ php_version : ['8.1','8.2']
74
+ symfony_version : ['5.4','6.2']
75
+ monolog_version : ['2.6']
56
76
- phpunit :
57
- requires : ['build']
77
+ name : ' phpunit/php-<< matrix.php_version >>/sf-<< matrix.symfony_version >>/monolog-<< matrix.monolog_version >>'
78
+ requires : ['build/php-<< matrix.php_version >>/sf-<< matrix.symfony_version >>/monolog-<< matrix.monolog_version >>']
79
+ matrix :
80
+ parameters :
81
+ << : *params
58
82
- php-cs-fixer :
59
- requires : ['build']
83
+ requires : ['build/php-8.1/sf-5.4/monolog-2.6 ']
60
84
- psalm :
61
- requires : ['build']
85
+ name : ' psalm/php-<< matrix.php_version >>/sf-<< matrix.symfony_version >>/monolog-<< matrix.monolog_version >>'
86
+ requires : ['build/php-<< matrix.php_version >>/sf-<< matrix.symfony_version >>/monolog-<< matrix.monolog_version >>']
87
+ matrix :
88
+ parameters :
89
+ << : *params
0 commit comments