Skip to content

Extend account menu to support configuration of groups, static urls and special templates to render. #11559

Extend account menu to support configuration of groups, static urls and special templates to render.

Extend account menu to support configuration of groups, static urls and special templates to render. #11559

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
run-tests:
name: Tests with PHP ${{ matrix.php-version }}
runs-on: ubuntu-latest
env:
VUFIND_HOME: $GITHUB_WORKSPACE
VUFIND_LOCAL_DIR: $GITHUB_WORKSPACE/local
strategy:
matrix:
php-version: ['8.1', '8.2', '8.3']
# We run PHP-based tests on all platforms (qa-php), but we only include PHP AND
# Javascript-related tests (qa-console) once. Since the JS results should be the
# same on all platforms, we don't need to repeat them.
include:
- php-version: 8.1
phing_tasks: "qa-php"
- php-version: 8.2
phing_tasks: "qa-console"
- php-version: 8.3
phing_tasks: "qa-php"
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: intl, xsl
tools: composer:2.1.6
ini-values: error_reporting=E_ALL
- name: Checkout
uses: actions/checkout@v4
- name: Disable Solr installation
run: touch solr/.disableAutomaticInstall
- name: Setup node
if: ${{ matrix.phing_tasks == 'qa-console' }}
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Cache NPM dependencies
if: ${{ matrix.phing_tasks == 'qa-console' }}
uses: actions/cache@v4
with:
path: ~/.npm
key: npm-${{ hashFiles('package-lock.json') }}
restore-keys: npm-
- name: Install node dependencies
if: ${{ matrix.phing_tasks == 'qa-console' }}
# Use --ignore-scripts to prevent pre/post install scripts from running
# (a security precaution).
run: npm install --ignore-scripts
- name: Rebuild node-sass dependency
if: ${{ matrix.phing_tasks == 'qa-console' }}
# The --ignore-scripts parameter to npm install prevents node-sass from
# fully building. We need to force it to build so the SCSS check in the
# qa-console task runs successfully.
run: npm rebuild node-sass
- 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: Cache php-cs-fixer data
uses: actions/cache@v4
with:
path: .php_cs_cache
key: "php-${{ matrix.php-version }}-php-cs-fixer-${{ github.sha }}"
restore-keys: "php-${{ matrix.php-version }}-php-cs-fixer-"
- name: Cache phpstan data
uses: actions/cache@v4
with:
path: .phpstan_cache
key: "php-${{ matrix.php-version }}-phpstan-${{ github.sha }}"
restore-keys: "php-${{ matrix.php-version }}-phpstan-"
- name: Cache PHP_CodeSniffer data
uses: actions/cache@v4
with:
path: tests/phpcs.cache.json
key: "php-${{ matrix.php-version }}-phpcs-${{ github.sha }}"
restore-keys: "php-${{ matrix.php-version }}-phpcs-"
- name: Install composer dependencies
run: composer install
- name: Run tests
run: vendor/bin/phing ${{ matrix.phing_tasks }}