88 release :
99 types : [created]
1010 schedule :
11- -
12- cron : " 0 1 * * 6" # Run at 1am every Saturday
11+ - cron : " 0 1 * * 6" # Run at 1am every Saturday
1312 workflow_dispatch : ~
1413
1514jobs :
@@ -21,12 +20,19 @@ jobs:
2120 strategy :
2221 fail-fast : false
2322 matrix :
24- php : [ "8.1 " ]
25- symfony : [ "5.4.* ", "^6.0 " ]
26- sylius : ["~ 1.12.0 ", "1.13.0" ]
27- node : [ "14 .x" ]
23+ php : [ "8.0", "8.1", "8.2", "8.3 " ]
24+ symfony : [ "^ 5.4", "^6.4 " ]
25+ sylius : [ "^ 1.12", "^ 1.13" ]
26+ node : [ "18.x", "20 .x" ]
2827 mysql : [ "8.0" ]
2928
29+ exclude :
30+ - sylius : ^1.13
31+ php : 8.0
32+ - sylius : ^1.12
33+ php : 8.0
34+ symfony : ^6.4
35+
3036 env :
3137 APP_ENV : test
3238 DATABASE_URL : " mysql://root:root@127.0.0.1/sylius?serverVersion=${{ matrix.mysql }}"
@@ -41,12 +47,12 @@ jobs:
4147 with :
4248 php-version : " ${{ matrix.php }}"
4349 extensions : intl
44- tools : flex, symfony
50+ tools : symfony
4551 coverage : none
4652
4753 -
4854 name : Setup Node
49- uses : actions/setup-node@v3
55+ uses : actions/setup-node@v4
5056 with :
5157 node-version : " ${{ matrix.node }}"
5258
@@ -80,29 +86,23 @@ jobs:
8086 -
8187 name : Get Composer cache directory
8288 id : composer-cache
83- run : echo "dir= $(composer config cache-files-dir)" >> $GITHUB_OUTPUT
89+ run : echo "::set-output name=dir:: $(composer config cache-files-dir)"
8490
8591 -
8692 name : Cache Composer
87- uses : actions/cache@v3
93+ uses : actions/cache@v4
8894 with :
8995 path : ${{ steps.composer-cache.outputs.dir }}
9096 key : ${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json **/composer.lock') }}
9197 restore-keys : |
9298 ${{ runner.os }}-php-${{ matrix.php }}-composer-
93-
94- -
95- name : Configure global composer
96- run : |
97- composer global config --no-plugins allow-plugins.symfony/flex true
98- composer global require --no-progress --no-scripts --no-plugins "symfony/flex:^2.2.2"
99-
10099 -
101100 name : Restrict Symfony version
102101 if : matrix.symfony != ''
103102 run : |
103+ composer global config --no-plugins allow-plugins.symfony/flex true
104+ composer global require --no-progress --no-scripts --no-plugins "symfony/flex:^1.10"
104105 composer config extra.symfony.require "${{ matrix.symfony }}"
105-
106106 -
107107 name : Restrict Sylius version
108108 if : matrix.sylius != ''
@@ -117,17 +117,16 @@ jobs:
117117 -
118118 name : Get Yarn cache directory
119119 id : yarn-cache
120- run : echo "dir= $(yarn cache dir)" >> $GITHUB_OUTPUT
120+ run : echo "::set-output name=dir:: $(yarn cache dir)"
121121
122122 -
123123 name : Cache Yarn
124- uses : actions/cache@v3
124+ uses : actions/cache@v4
125125 with :
126126 path : ${{ steps.yarn-cache.outputs.dir }}
127127 key : ${{ runner.os }}-node-${{ matrix.node }}-yarn-${{ hashFiles('**/package.json **/yarn.lock') }}
128128 restore-keys : |
129129 ${{ runner.os }}-node-${{ matrix.node }}-yarn-
130-
131130 -
132131 name : Install JS dependencies
133132 run : (cd tests/Application && yarn install)
@@ -137,13 +136,11 @@ jobs:
137136 run : |
138137 (cd tests/Application && bin/console doctrine:database:create -vvv)
139138 (cd tests/Application && bin/console doctrine:schema:create -vvv)
140-
141139 -
142140 name : Prepare test application assets
143141 run : |
144142 (cd tests/Application && bin/console assets:install public -vvv)
145- (cd tests/Application && yarn build:prod)
146-
143+ (cd tests/Application && yarn encore dev)
147144 -
148145 name : Prepare test application cache
149146 run : (cd tests/Application && bin/console cache:warmup -vvv)
@@ -154,26 +151,26 @@ jobs:
154151
155152 -
156153 name : Validate composer.json
157- if : ${{ matrix.sylius != '1.13.0' }}
158154 run : composer validate --ansi --strict
159155
160156 -
161157 name : Validate database schema
162158 run : (cd tests/Application && bin/console doctrine:schema:validate)
163159
164- - name : Run PHPStan
165- run : vendor/bin/phpstan analyse -c phpstan.neon -l 8 src/
166-
167- - name : Run ECS
168- run : vendor/bin/ecs check src
169-
170- - name : Run PHPSpec
160+ -
161+ name : Run PHPSpec
171162 run : vendor/bin/phpspec run --ansi -f progress --no-interaction
172163
173- - name : Load fixtures in test application
164+ -
165+ name : Run PHPUnit
166+ run : vendor/bin/phpunit --colors=always
167+
168+ -
169+ name : Load fixtures in test application
174170 run : (cd tests/Application && bin/console sylius:fixtures:load -n)
175-
176- - name : Failed build Slack notification
171+
172+ -
173+ name : Failed build Slack notification
177174 uses : rtCamp/action-slack-notify@v2
178175 if : ${{ failure() && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master') }}
179176 env :
0 commit comments