Skip to content

Commit

Permalink
Merge pull request #5 from smoench/os-2
Browse files Browse the repository at this point in the history
run tests against OpenSearch version 2
  • Loading branch information
smoench authored Dec 8, 2022
2 parents b78e91e + f214c7c commit 7cce0a2
Show file tree
Hide file tree
Showing 16 changed files with 225 additions and 202 deletions.
330 changes: 172 additions & 158 deletions .github/workflows/test-application.yaml
Original file line number Diff line number Diff line change
@@ -1,163 +1,177 @@
name: Test application

on:
pull_request:
push:
branches:
- '[0-9]+.[0-9]+'
- '[0-9]+.x'
pull_request:
push:
branches:
- '[0-9]+.[0-9]+'
- '[0-9]+.x'

jobs:
code-style:
runs-on: ubuntu-latest

steps:
- name: Checkout project
uses: actions/checkout@v3

- name: Install and configure PHP
uses: shivammathur/setup-php@v2
with:
coverage: none
php-version: 8.1

- name: Get composer cache directory
id: composer-cache-dir
run: echo "::set-output name=dir::$(composer config cache-files-dir)"

- name: Cache dependencies
uses: actions/cache@v2
id: composer-cache
with:
path: ${{ steps.composer-cache-dir.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install dependencies
run: composer install --no-interaction --prefer-dist

- name: Check code style
run: vendor/bin/ecs

phpstan:
runs-on: ubuntu-latest

steps:
- name: Checkout project
uses: actions/checkout@v3

- name: Install and configure PHP
uses: shivammathur/setup-php@v2
with:
coverage: none
php-version: 8.1

- name: Get composer cache directory
id: composer-cache-dir
run: echo "::set-output name=dir::$(composer config cache-files-dir)"

- name: Cache dependencies
uses: actions/cache@v2
id: composer-cache
with:
path: ${{ steps.composer-cache-dir.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install dependencies
run: composer install --no-interaction --prefer-dist

- name: Run PHPStan
run: vendor/bin/phpstan analyse

unit-test:
name: 'Run unit tests with php ${{ matrix.php-version }} with symfony ${{ matrix.symfony-version}}'
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
include:
- php-version: '8.0'
symfony-version: '5.4.*'

- php-version: '8.1'
symfony-version: '5.4.*'

- php-version: '8.1'
symfony-version: '6.0.*'

- php-version: '8.1'
symfony-version: '6.1.*'

steps:
- name: Checkout project
uses: actions/checkout@v3

- name: Install and configure PHP
uses: shivammathur/setup-php@v2
with:
coverage: pcov
php-version: ${{ matrix.php-version }}

- name: Get composer cache directory
id: composer-cache-dir
run: echo "::set-output name=dir::$(composer config cache-files-dir)"

- name: Cache dependencies
uses: actions/cache@v2
id: composer-cache
with:
path: ${{ steps.composer-cache-dir.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install dependencies
run: |
composer validate --strict
composer require --no-update symfony/serializer:${{ matrix.symfony-version }}
composer install --no-interaction --prefer-dist
- name: Run tests
run: vendor/bin/phpunit --testsuite=unit --coverage-clover=coverage.xml

functional-test:
name: 'Run functional tests'
runs-on: ubuntu-latest

steps:
- name: Checkout project
uses: actions/checkout@v3

- name: Install and configure PHP
uses: shivammathur/setup-php@v2
with:
coverage: none
php-version: 8.1

- name: Get composer cache directory
id: composer-cache-dir
run: echo "::set-output name=dir::$(composer config cache-files-dir)"

- name: Cache dependencies
uses: actions/cache@v2
id: composer-cache
with:
path: ${{ steps.composer-cache-dir.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install dependencies
run: composer install --no-interaction --prefer-dist

- name: Setup OpenSearch
uses: ankane/setup-opensearch@v1
with:
opensearch-version: '1.2'

- name: Run tests
run: vendor/bin/phpunit --testsuite=functional
code-style:
runs-on: ubuntu-latest

steps:
- name: Checkout project
uses: actions/checkout@v3

- name: Install and configure PHP
uses: shivammathur/setup-php@v2
with:
coverage: none
php-version: 8.1

- name: Get composer cache directory
id: composer-cache-dir
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: Cache dependencies
uses: actions/cache@v3
id: composer-cache
with:
path: ${{ steps.composer-cache-dir.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install dependencies
run: composer install --no-interaction --prefer-dist

- name: Check code style
run: vendor/bin/ecs

phpstan:
runs-on: ubuntu-latest

steps:
- name: Checkout project
uses: actions/checkout@v3

- name: Install and configure PHP
uses: shivammathur/setup-php@v2
with:
coverage: none
php-version: 8.1

- name: Get composer cache directory
id: composer-cache-dir
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: Cache dependencies
uses: actions/cache@v3
id: composer-cache
with:
path: ${{ steps.composer-cache-dir.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install dependencies
run: composer install --no-interaction --prefer-dist

- name: Run PHPStan
run: vendor/bin/phpstan analyse

unit-test:
name: 'Run unit tests with php ${{ matrix.php-version }} with symfony ${{ matrix.symfony-version}}'
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
include:
- php-version: '8.0'
symfony-version: '5.4.*'

- php-version: '8.1'
symfony-version: '5.4.*'

- php-version: '8.1'
symfony-version: '6.0.*'

- php-version: '8.1'
symfony-version: '6.1.*'

- php-version: '8.1'
symfony-version: '6.2.*'

steps:
- name: Checkout project
uses: actions/checkout@v3

- name: Install and configure PHP
uses: shivammathur/setup-php@v2
with:
coverage: pcov
php-version: ${{ matrix.php-version }}

- name: Get composer cache directory
id: composer-cache-dir
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: Cache dependencies
uses: actions/cache@v3
id: composer-cache
with:
path: ${{ steps.composer-cache-dir.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install dependencies
run: |
composer validate --strict
composer require --no-update symfony/serializer:${{ matrix.symfony-version }}
composer install --no-interaction --prefer-dist
- name: Run tests
run: vendor/bin/phpunit --testsuite=unit --coverage-clover=coverage.xml

functional-test:
name: 'Run functional tests with OS ${{ matrix.opensearch-version }}'
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
include:
- opensearch-version: '1.3'
opensearch-composer-version: '^1'
- opensearch-version: '2.4'
opensearch-composer-version: '^2'

steps:
- name: Checkout project
uses: actions/checkout@v3

- name: Install and configure PHP
uses: shivammathur/setup-php@v2
with:
coverage: none
php-version: 8.1

- name: Get composer cache directory
id: composer-cache-dir
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: Cache dependencies
uses: actions/cache@v3
id: composer-cache
with:
path: ${{ steps.composer-cache-dir.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install dependencies
run: |
composer require --no-update opensearch-project/opensearch-php:${{ matrix.opensearch-composer-version }}
composer install --no-interaction --prefer-dist
- name: Setup OpenSearch
uses: ankane/setup-opensearch@v1
with:
opensearch-version: ${{ matrix.opensearch-version }}

- name: Run tests
run: vendor/bin/phpunit --testsuite=functional
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
This is a fork of the [ongr/elasticsearch-dsl](https://github.com/ongr-io/elasticsearchbundle).
With some basic changes to support wider range of Symfony Versions.

| Version | Supported OpenSearch Version | Supported Symfony Version |
|---------|------------------------------|---------------------------|
| `1.x` | `^1.2` | `5.4.*`, `6.0.*`, `6.1.*` |
| Version | Supported OpenSearch Version | Supported Symfony Version |
|---------|------------------------------|------------------------------------|
| `1.x` | `^1.2`, `^2.0` | `5.4.*`, `6.0.*`, `6.1.*`, `6.2.*` |

## Documentation

Expand Down
8 changes: 4 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@
],
"require": {
"php": "8.0.* || 8.1.*",
"symfony/serializer": "5.4.* || 6.0.* || 6.1.*",
"opensearch-project/opensearch-php": "^1.0"
"symfony/serializer": "5.4.* || 6.0.* || 6.1.* || 6.2.*",
"opensearch-project/opensearch-php": "^1.0 || ^2.0"
},
"require-dev": {
"phpunit/phpunit": "^9.5",
"phpstan/phpstan": "^1.8",
"phpstan/phpstan-phpunit": "^1.1",
"phpstan/phpstan": "1.8.11",
"phpstan/phpstan-phpunit": "1.1.3",
"rector/rector": "^0.14.5",
"symplify/easy-coding-standard": "^11.1"
},
Expand Down
6 changes: 3 additions & 3 deletions phpunit.xml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@
</report>
</coverage>
<testsuites>
<testsuite name="Unit">
<testsuite name="unit">
<directory>./tests/Unit/</directory>
</testsuite>
<testsuite name="Functional">
<testsuite name="functional">
<directory>./tests/Functional/</directory>
</testsuite>
<testsuite name="All">
<testsuite name="all">
<directory>./tests/</directory>
</testsuite>
</testsuites>
Expand Down
Loading

0 comments on commit 7cce0a2

Please sign in to comment.