@@ -470,26 +470,6 @@ jobs:
470
470
export PATH="$PATH:$HOME/.composer/vendor/bin"
471
471
php-coveralls --coverage_clover=build/logs/behat/clover.xml
472
472
continue-on-error : true
473
- - name : Export OpenAPI documents
474
- run : |
475
- mkdir -p build/out/openapi
476
- tests/Fixtures/app/console api:openapi:export -o build/out/openapi/openapi_v3.json
477
- tests/Fixtures/app/console api:openapi:export --yaml -o build/out/openapi/openapi_v3.yaml
478
- - name : Setup node
479
- uses : actions/setup-node@v4
480
- with :
481
- node-version : ' 14'
482
- - name : Validate OpenAPI documents
483
- run : |
484
- npx swagger-cli validate build/out/openapi/openapi_v3.json
485
- npx swagger-cli validate build/out/openapi/openapi_v3.yaml
486
- - name : Upload OpenAPI artifacts
487
- if : always()
488
- uses : actions/upload-artifact@v4
489
- with :
490
- name : openapi-docs-php${{ matrix.php }}
491
- path : build/out/openapi
492
- continue-on-error : true
493
473
494
474
postgresql :
495
475
name : Behat (PHP ${{ matrix.php }}) (PostgreSQL)
@@ -1272,26 +1252,53 @@ jobs:
1272
1252
name : behat-logs-php${{ matrix.php }}
1273
1253
path : build/logs/behat
1274
1254
continue-on-error : true
1255
+
1256
+ openapi :
1257
+ name : OpenAPI
1258
+ runs-on : ubuntu-latest
1259
+ timeout-minutes : 20
1260
+ strategy :
1261
+ matrix :
1262
+ php :
1263
+ - ' 8.4'
1264
+ fail-fast : false
1265
+ steps :
1266
+ - name : Checkout
1267
+ uses : actions/checkout@v4
1268
+ - name : Setup PHP
1269
+ uses : shivammathur/setup-php@v2
1270
+ with :
1271
+ php-version : ${{ matrix.php }}
1272
+ tools : pecl, composer
1273
+ extensions : intl, bcmath, curl, openssl, mbstring, pdo_sqlite, mongodb
1274
+ ini-values : memory_limit=-1
1275
+ - name : Setup node
1276
+ uses : actions/setup-node@v4
1277
+ with :
1278
+ node-version : ' 22'
1279
+ - name : Get composer cache directory
1280
+ id : composercache
1281
+ run : echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
1282
+ - name : Cache dependencies
1283
+ uses : actions/cache@v4
1284
+ with :
1285
+ path : ${{ steps.composercache.outputs.dir }}
1286
+ key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
1287
+ restore-keys : ${{ runner.os }}-composer-
1288
+ - name : Update project dependencies
1289
+ run : |
1290
+ composer global require soyuka/pmu
1291
+ composer global config allow-plugins.soyuka/pmu true --no-interaction
1292
+ composer global link .
1293
+ - name : Clear test app cache
1294
+ run : tests/Fixtures/app/console cache:clear --ansi
1275
1295
- name : Export OpenAPI documents
1276
1296
run : |
1277
1297
mkdir -p build/out/openapi
1278
- tests/Fixtures/app/console api:openapi:export -o build/out/openapi/openapi_v3.json
1279
1298
tests/Fixtures/app/console api:openapi:export --yaml -o build/out/openapi/openapi_v3.yaml
1280
- - name : Setup node
1281
- uses : actions/setup-node@v4
1282
- with :
1283
- node-version : ' 14'
1284
1299
- name : Validate OpenAPI documents
1285
1300
run : |
1286
- npx swagger-cli validate build/out/openapi/openapi_v3.json
1287
- npx swagger-cli validate build/out/openapi/openapi_v3.yaml
1288
- - name : Upload OpenAPI artifacts
1289
- if : always()
1290
- uses : actions/upload-artifact@v4
1291
- with :
1292
- name : openapi-docs-php${{ matrix.php }}
1293
- path : build/out/openapi
1294
- continue-on-error : true
1301
+ npx @quobix/vacuum lint -r tests/Fixtures/app/ruleset.yaml build/out/openapi/openapi_v3.yaml -d
1295
1302
1296
1303
laravel :
1297
1304
name : Laravel (PHP ${{ matrix.php }})
0 commit comments