Nothing previously checked that a PR still produces a working frontend build -- add a job that type-checks and builds the Vue app. Also run composer audit / npm audit so known CVEs in dependencies fail the build rather than going unnoticed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
49 lines
1.1 KiB
YAML
49 lines
1.1 KiB
YAML
name: CI
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
php-tests:
|
|
runs-on: ubuntu-latest
|
|
container: php:8.3-cli-alpine
|
|
steps:
|
|
# actions/checkout is a JS action -- php:8.3-cli-alpine has no node on
|
|
# PATH by default, so install it (musl-native, no glibc/Alpine mismatch)
|
|
# before any step that needs it.
|
|
- name: Install Node
|
|
run: apk add --no-cache nodejs
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install Composer
|
|
run: curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
|
|
|
- name: Install dependencies
|
|
run: composer install --no-progress --prefer-dist
|
|
|
|
- name: Audit dependencies
|
|
run: composer audit
|
|
|
|
- name: Run tests
|
|
run: vendor/bin/phpunit
|
|
|
|
frontend-build:
|
|
runs-on: ubuntu-latest
|
|
container: node:24-alpine
|
|
defaults:
|
|
run:
|
|
working-directory: web
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
|
|
- name: Audit dependencies
|
|
run: npm audit --audit-level=high
|
|
|
|
- name: Type-check and build
|
|
run: npm run build
|