Skip to content

chore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates #60

chore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates

chore(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates #60

Workflow file for this run

# =============================================================================
# SpatialSync — Main CI Pipeline
# Runs on every push to main and every PR
# 2026 Industry Standard: Shift-left quality gates
# =============================================================================
name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
workflow_call:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
PHP_VERSION: '8.3'
NODE_VERSION: '22'
jobs:
# ---------------------------------------------------------------------------
# 1. PHP Quality Gate — Laravel Pint + PHPStan
# ---------------------------------------------------------------------------
php-quality:
name: 🐘 PHP Quality
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ env.PHP_VERSION }}
extensions: mbstring, bcmath, gd, zip, pdo_pgsql, pgsql
tools: composer:v2
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: Create .env for CI
run: cp .env.example .env
- name: Install PHP dependencies (without scripts)
run: composer install --no-interaction --prefer-dist --no-progress --no-scripts
- name: Generate app key
run: php -r "file_put_contents('.env', preg_replace('/^APP_KEY=.*/m', 'APP_KEY=base64:' . base64_encode(random_bytes(32)), file_get_contents('.env')));"
- name: Run Laravel Pint (Code Style)
run: |
vendor/bin/pint
vendor/bin/pint --test --ansi
- name: Run PHPStan (Static Analysis)
run: vendor/bin/phpstan analyse --no-progress --error-format=github
# ---------------------------------------------------------------------------
# 2. JavaScript Quality Gate — ESLint + Prettier
# ---------------------------------------------------------------------------
js-quality:
name: 📦 JS Quality
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
cache-dependency-path: package-lock.json
- name: Install Node dependencies
run: npm ci --no-audit --no-fund
- name: Lint JavaScript
run: npx eslint resources/js/ --max-warnings=0
- name: Check formatting (Prettier)
run: npx prettier --check "resources/**/*.{js,css}"
# ---------------------------------------------------------------------------
# 3. Build Gate — Vite Production Build
# ---------------------------------------------------------------------------
build:
name: 🏗️ Production Build
runs-on: ubuntu-latest
timeout-minutes: 10
needs: [php-quality, js-quality]
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
cache-dependency-path: package-lock.json
- name: Install Node dependencies
run: npm ci --no-audit --no-fund
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ env.PHP_VERSION }}
extensions: mbstring, bcmath, gd, zip, pdo_pgsql, pgsql
tools: composer:v2
coverage: none
- name: Create .env for CI
run: cp .env.example .env
- name: Install PHP dependencies (without scripts)
run: composer install --no-interaction --prefer-dist --no-progress --no-scripts
- name: Generate app key
run: php -r "file_put_contents('.env', preg_replace('/^APP_KEY=.*/m', 'APP_KEY=base64:' . base64_encode(random_bytes(32)), file_get_contents('.env')));"
- name: Build frontend assets
run: npm run build
- name: Cache production build
uses: actions/cache@v4
with:
path: public/build
key: build-${{ github.sha }}
restore-keys: |
build-