68 lines
2.2 KiB
YAML
68 lines
2.2 KiB
YAML
name: "Quality Check"
|
|
|
|
on: push
|
|
jobs:
|
|
qs_frontend:
|
|
name: "QS Frontend"
|
|
runs-on: "ubuntu-latest"
|
|
container:
|
|
image: "git.euph.dev/actions/runner-php-8.3:latest"
|
|
steps:
|
|
- name: "Checkout"
|
|
uses: "https://git.euph.dev/actions/checkout@v3"
|
|
- name: "Install Dependencies"
|
|
working-directory: app
|
|
run: |
|
|
parallel --halt soon,fail=1 ::: \
|
|
"composer check-platform-reqs && composer install --no-scripts --audit" \
|
|
"npm install --no-fund"
|
|
- name: "TS Validation"
|
|
working-directory: app/frontend
|
|
run: "node ../node_modules/typescript/bin/tsc --noEmit"
|
|
- name: "Stylelint"
|
|
working-directory: app/frontend
|
|
run: "node ../node_modules/stylelint/bin/stylelint.mjs ."
|
|
- name: "ESLint"
|
|
working-directory: app
|
|
run: "node node_modules/eslint/bin/eslint.js frontend"
|
|
- name: "Twig CS Fixer"
|
|
working-directory: app
|
|
run: "vendor/bin/twig-cs-fixer lint"
|
|
|
|
qs_backend:
|
|
name: "QS Backend"
|
|
runs-on: "ubuntu-latest"
|
|
container:
|
|
image: "git.euph.dev/actions/runner-php-8.3:latest"
|
|
steps:
|
|
- name: "Checkout"
|
|
uses: "https://git.euph.dev/actions/checkout@v3"
|
|
- name: "Install Dependencies"
|
|
working-directory: app
|
|
run: |
|
|
composer check-platform-reqs
|
|
composer install --no-scripts --audit
|
|
- name: "PHP CS Fixer"
|
|
working-directory: app
|
|
run: "vendor/bin/php-cs-fixer fix --dry-run --allow-risky=yes"
|
|
- name: "PHP Stan"
|
|
working-directory: app
|
|
run: "vendor/bin/phpstan analyze"
|
|
|
|
qs_mixed:
|
|
name: "QS Mixed"
|
|
runs-on: "ubuntu-latest"
|
|
container:
|
|
image: "git.euph.dev/actions/runner-php-8.3:latest"
|
|
steps:
|
|
- name: "Checkout"
|
|
uses: "https://git.euph.dev/actions/checkout@v3"
|
|
- name: "Install Dependencies"
|
|
working-directory: app
|
|
run: |
|
|
parallel --halt soon,fail=1 ::: \
|
|
"composer check-platform-reqs && composer install --no-scripts --audit" \
|
|
"npm install --no-fund"
|
|
- name: "Lint"
|
|
working-directory: app
|
|
run: "node node_modules/eslint/bin/eslint.js frontend"
|