Major refactoring cleanup: - Add new controller architecture (class-controller-*.php) - Add new settings-v2 UI (views/settings-v2/) - Add new CSS architecture (agentic-sidebar.css, tokens) - Add esbuild build pipeline (scripts/build.js, package.json) - Add composer dependencies (vendor/) - Add frontend src directory (assets/js/src/index.jsx) - Add documentation files - Remove old/obsolete files (class-settings.php, old CSS) This commits all pending changes from previous refactoring efforts.
44 lines
1.6 KiB
YAML
44 lines
1.6 KiB
YAML
name: CI
|
|
on: [push, pull_request]
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
matrix:
|
|
operating-system: ['ubuntu-latest']
|
|
php-versions: ['7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.4', '8.5']
|
|
runs-on: ${{ matrix.operating-system }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup PHP, with composer and extensions
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: ${{ matrix.php-versions }}
|
|
coverage: pcov
|
|
|
|
- name: Get composer cache directory
|
|
id: composercache
|
|
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
|
|
|
|
- name: Cache composer dependencies
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ${{ steps.composercache.outputs.dir }}
|
|
# Use composer.json for key, if composer.lock is not committed.
|
|
# key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
|
|
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
|
|
restore-keys: ${{ runner.os }}-composer-
|
|
|
|
- name: Check Composer configuration
|
|
run: composer validate --strict
|
|
|
|
- name: Install dependencies
|
|
run: composer install --no-progress --prefer-dist --optimize-autoloader
|
|
|
|
- name: Run code sniffer
|
|
run: vendor/bin/phpcs --standard=PSR2 src tests
|
|
|
|
- name: Run unit tests
|
|
run: vendor/bin/phpunit
|