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/styles 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"