79 lines
1.7 KiB
YAML
79 lines
1.7 KiB
YAML
name: linter
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- develop
|
|
- main
|
|
- master
|
|
- workos
|
|
pull_request:
|
|
branches:
|
|
- develop
|
|
- main
|
|
- master
|
|
- workos
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
quality:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v6
|
|
|
|
# -------------------------
|
|
# Cache Composer
|
|
# -------------------------
|
|
- name: Cache Composer dependencies
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.composer/cache
|
|
key: composer-${{ runner.os }}-${{ hashFiles('**/composer.lock') }}
|
|
restore-keys: |
|
|
composer-${{ runner.os }}-
|
|
|
|
# -------------------------
|
|
# Cache Node
|
|
# -------------------------
|
|
- name: Cache Node dependencies
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.npm
|
|
key: node-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
node-${{ runner.os }}-
|
|
|
|
- name: Setup PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: '8.4'
|
|
coverage: none
|
|
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '22'
|
|
cache: 'npm'
|
|
|
|
# -------------------------
|
|
# Install dependencies
|
|
# -------------------------
|
|
- name: Install Dependencies
|
|
run: |
|
|
composer install --no-interaction --prefer-dist --no-progress --no-scripts
|
|
npm ci
|
|
|
|
# -------------------------
|
|
# Run linters in parallel
|
|
# -------------------------
|
|
- name: Run linters
|
|
run: |
|
|
composer lint &
|
|
npm run format &
|
|
npm run lint &
|
|
wait
|