Skip to content

Use search manager interface instead of actual class #162

Use search manager interface instead of actual class

Use search manager interface instead of actual class #162

name: Test application
on:
pull_request:
push:
branches:
- '[0-9]+.x'
- '[0-9]+.[0-9]+'
jobs:
test:
name: 'PHP ${{ matrix.php-version }} (${{ matrix.dependency-versions }}) (${{ matrix.minimum-stability }})'
runs-on: ubuntu-latest
env:
SYMFONY_DEPRECATIONS_HELPER: weak
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ELASTICSEARCH_VERSION: ${{ matrix.elasticsearch-version }}
SYMFONY_MAX_PHPUNIT_VERSION: ${{ matrix.max-phpunit-version }}
strategy:
fail-fast: false
matrix:
include:
- php-version: '7.2'
elasticsearch-version: '2.4.6'
elasticsearch-package-constraint: '^2.1'
minimum-stability: 'stable'
dependency-versions: 'lowest'
tools: 'composer:v1'
php-cs-fixer: false
max-phpunit-version: '7'
- php-version: '7.3'
elasticsearch-version: '2.4.6'
elasticsearch-package-constraint: '^2.1'
minimum-stability: 'stable'
dependency-versions: 'highest'
tools: 'composer:v2'
php-cs-fixer: false
max-phpunit-version: '7'
- php-version: '7.4'
elasticsearch-version: '2.4.6'
elasticsearch-package-constraint: '^2.1'
minimum-stability: 'stable'
dependency-versions: 'highest'
tools: 'composer:v2'
php-cs-fixer: true
max-phpunit-version: '7'
- php-version: '8.0'
elasticsearch-version: '7.11.1'
elasticsearch-package-constraint: '~7.11.0'
minimum-stability: 'stable'
dependency-versions: 'highest'
tools: 'composer:v2'
php-cs-fixer: false
max-phpunit-version: '8'
- php-version: '8.1'
elasticsearch-version: '7.11.1'
elasticsearch-package-constraint: '~7.11.0'
minimum-stability: 'stable'
dependency-versions: 'highest'
tools: 'composer:v2'
php-cs-fixer: false
max-phpunit-version: '8'
- php-version: '8.2'
elasticsearch-version: '7.11.1'
elasticsearch-package-constraint: '~7.11.0'
minimum-stability: 'stable'
dependency-versions: 'highest'
tools: 'composer:v2'
php-cs-fixer: false
- php-version: '8.3'
elasticsearch-version: '7.17.19'
elasticsearch-package-constraint: '~7.17.0'
minimum-stability: 'dev'
dependency-versions: 'highest'
tools: 'composer:v2'
php-cs-fixer: false
max-phpunit-version: '8'
services:
elasticsearch:
image: elasticsearch:${{ matrix.elasticsearch-version }}
ports:
- 9200:9200
env:
discovery.type: 'single-node'
xpack.security.enabled: 'false'
options: --health-cmd="curl http://localhost:9200/_cluster/health" --health-interval=10s --health-timeout=5s --health-retries=5
steps:
- name: Checkout project
uses: actions/checkout@v2
- name: Install and configure PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
tools: ${{ matrix.tools }}
- name: Require elasticsearch dependency
run: composer require --dev elasticsearch/elasticsearch:${{ matrix.elasticsearch-package-constraint }} --no-interaction --no-update
- name: Configure composer minimum-stability
run: composer config minimum-stability ${{ matrix.minimum-stability }}
- name: Install composer dependencies
uses: ramsey/composer-install@v1
with:
dependency-versions: ${{matrix.dependency-versions}}
- name: Run php-cs-fixer
if: ${{ matrix.php-cs-fixer }}
run: |
composer global require friendsofphp/php-cs-fixer:^2.19 --prefer-dist --no-interaction
GLOBAL_BIN_DIR=$(composer global config bin-dir --absolute --quiet)
$GLOBAL_BIN_DIR/php-cs-fixer fix --dry-run --diff
- name: Lint code
run: composer validate --strict
- name: Execute unit tests
run: vendor/bin/simple-phpunit
- name: Execute zend lucene behat tests
run: vendor/bin/behat --suite=zend_lucene
- name: Execute elastic behat tests
if: ${{ matrix.php-version < '8.0' }} # requires fixing elastic tests on 7.11 (sorting)
run: vendor/bin/behat --suite=elastic