Skip to content

Merge remote-tracking branch 'refs/remotes/origin/main' #154

Merge remote-tracking branch 'refs/remotes/origin/main'

Merge remote-tracking branch 'refs/remotes/origin/main' #154

Workflow file for this run

name: Code Quality
on:
push:
branches:
- main
pull_request:
permissions:
contents: read
concurrency:
group: code-quality-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
php-code-quality:
runs-on: ubuntu-latest
timeout-minutes: 10
name: Code Quality
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.4
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, pdo_pgsql, bcmath, intl, gd, exif, iconv, imagick, fileinfo, redis
coverage: none
- name: Get Composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache Composer dependencies
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install Composer dependencies
run: composer install --prefer-dist --no-interaction --no-progress
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- name: Install Node.js
uses: actions/setup-node@v6
with:
node-version: 22
cache: 'pnpm'
- name: Build application
run: |
cp .env.ci .env
php artisan key:generate
php artisan wayfinder:generate
pnpm install --frozen-lockfile
pnpm build
- name: Run Laravel Pint
run: vendor/bin/pint --test
- name: Run ESLint
run: pnpm run lint
- name: Run TypeScript type check
run: pnpm run type-check
- name: Check Prettier formatting
run: pnpm run format --check