7
7
strategy :
8
8
matrix :
9
9
php : [8.2, 8.3, 8.4]
10
- symfony : ["5.4.*", "6.4.*", "7.2.*"]
11
- exclude :
12
- - php : 8.1
13
- symfony : " 7.2.*"
10
+ symfony : ["5.4.*", "6.4.*", "6.4wApi", "7.2.*"]
14
11
15
12
steps :
16
13
- name : Checkout code
@@ -25,11 +22,26 @@ jobs:
25
22
coverage : none
26
23
27
24
- name : Set Symfony version reference
28
- run : echo "SF_REF=${MATRIX_SYMFONY%.*}" >> $GITHUB_ENV
29
25
env :
30
26
MATRIX_SYMFONY : ${{ matrix.symfony }}
27
+ run : |
28
+ if [[ "$MATRIX_SYMFONY" == *'*' ]]; then
29
+ echo "SF_REF=${MATRIX_SYMFONY%.*}" >> "$GITHUB_ENV"
30
+ else
31
+ echo "SF_REF=$MATRIX_SYMFONY" >> "$GITHUB_ENV"
32
+ fi
33
+
34
+ - name : Set Composer Symfony constraint
35
+ env :
36
+ MATRIX_SYMFONY : ${{ matrix.symfony }}
37
+ run : |
38
+ if [[ "$MATRIX_SYMFONY" == "6.4wApi" ]]; then
39
+ echo "COMP_SYMFONY=6.4.*" >> "$GITHUB_ENV"
40
+ else
41
+ echo "COMP_SYMFONY=$MATRIX_SYMFONY" >> "$GITHUB_ENV"
42
+ fi
31
43
32
- - name : Checkout Symfony ${{ env.SF_REF }} Sample
44
+ - name : Checkout Symfony ${{ env.SF_REF }} sample
33
45
uses : actions/checkout@v4
34
46
with :
35
47
repository : Codeception/symfony-module-tests
@@ -51,17 +63,24 @@ jobs:
51
63
run : composer require --dev --no-update "phpunit/phpunit=^10.0"
52
64
53
65
- name : Install dependencies
66
+ env :
67
+ MATRIX_SYMFONY : ${{ matrix.symfony }}
54
68
run : |
55
- composer require symfony/finder=${{ matrix.symfony }} --no-update
56
- composer require symfony/yaml=${{ matrix.symfony }} --no-update
57
- composer require symfony/console=${{ matrix.symfony }} --no-update
58
- composer require symfony/event-dispatcher=${{ matrix.symfony }} --no-update
59
- composer require symfony/css-selector=${{ matrix.symfony }} --no-update
60
- composer require symfony/dom-crawler=${{ matrix.symfony }} --no-update
61
- composer require symfony/browser-kit=${{ matrix.symfony }} --no-update
69
+ composer require symfony/finder=${{ env.COMP_SYMFONY }} --no-update
70
+ composer require symfony/yaml=${{ env.COMP_SYMFONY }} --no-update
71
+ composer require symfony/console=${{ env.COMP_SYMFONY }} --no-update
72
+ composer require symfony/event-dispatcher=${{ env.COMP_SYMFONY }} --no-update
73
+ composer require symfony/css-selector=${{ env.COMP_SYMFONY }} --no-update
74
+ composer require symfony/dom-crawler=${{ env.COMP_SYMFONY }} --no-update
75
+ composer require symfony/browser-kit=${{ env.COMP_SYMFONY }} --no-update
62
76
composer require vlucas/phpdotenv --no-update
63
77
composer require codeception/module-asserts="3.*" --no-update
64
78
composer require codeception/module-doctrine="3.*" --no-update
79
+
80
+ if [[ "$MATRIX_SYMFONY" == "6.4wApi" ]]; then
81
+ composer require codeception/module-rest="3.*" --no-update
82
+ fi
83
+
65
84
composer update --prefer-dist --no-progress --no-dev
66
85
67
86
- name : Validate Composer files
@@ -84,6 +103,11 @@ jobs:
84
103
php bin/console doctrine:fixtures:load --quiet
85
104
working-directory : framework-tests
86
105
106
+ - name : Generate JWT keypair
107
+ if : ${{ matrix.symfony == '6.4wApi' }}
108
+ run : php bin/console lexik:jwt:generate-keypair --skip-if-exists
109
+ working-directory : framework-tests
110
+
87
111
- name : Run tests
88
112
run : |
89
113
php vendor/bin/codecept build -c framework-tests
0 commit comments