Skip to content

[ENH] only join filter fields if needed #914

[ENH] only join filter fields if needed

[ENH] only join filter fields if needed #914

on:
pull_request:
push:
branches:
- master
tags:
- "**"
name: "Continuous Integration"
jobs:
coding-standards:
name: "Coding Standards"
runs-on: ubuntu-latest
strategy:
matrix:
php-version:
- 7.4
steps:
- name: "Checkout"
uses: actions/checkout@v4
- name: "Install PHP with extensions"
uses: shivammathur/setup-php@v2
with:
coverage: none
extensions: "mbstring, json"
php-version: ${{ matrix.php-version }}
- name: "Validate composer.json and composer.lock"
run: composer validate --strict
- name: "Cache dependencies installed with composer"
uses: actions/cache@v4
with:
path: ~/.composer/cache
key: php${{ matrix.php-version }}-composer-
restore-keys: |
php${{ matrix.php-version }}-composer-
- name: "Install locked dependencies with composer"
run: composer install --no-interaction --no-progress --no-suggest
- name: "Run localheinz/composer-normalize"
run: composer normalize --dry-run
- name: "Create cache directory for friendsofphp/php-cs-fixer"
run: mkdir -p .build/php-cs-fixer
- name: "Cache cache directory for friendsofphp/php-cs-fixer"
uses: actions/cache@v4
with:
path: .build/php-cs-fixer
key: php${{ matrix.php-version }}-php-cs-fixer-
restore-keys: |
php${{ matrix.php-version }}-php-cs-fixer-
- name: "Run friendsofphp/php-cs-fixer"
run: composer cs-diff
static-code-analysis:
name: "Static Code Analysis"
runs-on: ubuntu-latest
strategy:
matrix:
php-version:
- 7.4
steps:
- name: "Checkout"
uses: actions/checkout@v4
- name: "Install PHP with extensions"
uses: shivammathur/setup-php@v2
with:
coverage: none
extensions: "mbstring, json"
php-version: ${{ matrix.php-version }}
- name: "Cache dependencies installed with composer"
uses: actions/cache@v4
with:
path: ~/.composer/cache
key: ${{ matrix.php-version }}-composer-
restore-keys: |
${{ matrix.php-version }}-composer-
- name: "Install locked dependencies with composer"
run: composer install --no-interaction --no-progress --no-suggest
- name: "Run phpstan"
run: composer phpstan
- name: "Run psalm"
run: vendor/bin/psalm --config=psalm.xml --diff --shepherd --show-info=false --stats --threads=4
tests:
name: "Test (PHP ${{ matrix.php-version }}, ${{ matrix.dependencies }})"
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.allowed_to_fail }}
strategy:
matrix:
php-version:
- 7.4
- 8.0
- 8.1
- 8.2
- 8.3
dependencies:
- lowest
- highest
allowed_to_fail: [ false ]
include:
- php-version: '8.0'
dependencies: lowest
allowed_to_fail: true
- php-version: '8.0'
dependencies: highest
allowed_to_fail: true
steps:
- name: "Checkout"
uses: actions/checkout@v4
- name: "Install PHP with extensions"
uses: shivammathur/setup-php@v2
with:
coverage: none
extensions: "mbstring, json"
php-version: ${{ matrix.php-version }}
- name: "Cache dependencies installed with composer"
uses: actions/cache@v4
with:
path: ~/.composer/cache
key: php${{ matrix.php-version }}-composer-
restore-keys: |
php${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-
- name: "Configuration required for PHP 8.0"
if: matrix.php-version == '8.0'
run: composer config platform.php 7.4.99
- name: "Install lowest dependencies with composer"
if: matrix.dependencies == 'lowest'
run: composer update --no-interaction --no-progress --no-suggest --prefer-lowest
- name: "Install highest dependencies with composer"
if: matrix.dependencies == 'highest'
run: composer update --no-interaction --no-progress --no-suggest
- name: "Run tests with phpunit"
run: composer test