Skip to content

[FRAM-114] Handle count on ES query (#12) #119

[FRAM-114] Handle count on ES query (#12)

[FRAM-114] Handle count on ES query (#12) #119

Workflow file for this run

name: Build
on: [push, pull_request]
env:
ELASTICSEARCH_HOST: '127.0.0.1:9200'
ELASTICSEARCH_USER: 'elastic'
ELASTICSEARCH_PASSWORD: 'changeme'
discovery.type: single-node
bootstrap.memory_lock: true
xpack.security.enable: false
xpack.license.self_generated.type: basic
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-versions: ['7.4', '8.0', '8.1', '8.2']
name: PHP ${{ matrix.php-versions }}
steps:
- uses: actions/checkout@v2
- name: Set Timezone
uses: szenius/set-timezone@v1.0
with:
timezoneLinux: "Europe/Paris"
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: json
ini-values: date.timezone=Europe/Paris
- name: Check PHP Version
run: php -v
- name: Configure sysctl limits
run: |
sudo swapoff -a
sudo sysctl -w vm.swappiness=1
sudo sysctl -w fs.file-max=262144
sudo sysctl -w vm.max_map_count=262144
- name: Runs Elasticsearch
uses: elastic/elastic-github-actions/elasticsearch@master
with:
stack-version: 7.17.1
- name: Validate composer.json and composer.lock
run: composer validate --strict
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Install ES Lib 7.0
run: composer require --dev 'elasticsearch/elasticsearch:~7.0' --with-all-dependencies
- name: Run test suite
run: composer run-script tests
es_compatiblity:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
versions:
- es: '7.17.1'
lib: '7.0'
- es: '8.1.0'
lib: '8.0'
name: Elasticsearch version ${{ matrix.versions.es }}
steps:
- uses: actions/checkout@v2
- name: Set Timezone
uses: szenius/set-timezone@v1.0
with:
timezoneLinux: "Europe/Paris"
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.0
extensions: json
ini-values: date.timezone=Europe/Paris
- name: Configure sysctl limits
run: |
sudo swapoff -a
sudo sysctl -w vm.swappiness=1
sudo sysctl -w fs.file-max=262144
sudo sysctl -w vm.max_map_count=262144
- name: Runs Elasticsearch ${{ matrix.versions.es }}
uses: elastic/elastic-github-actions/elasticsearch@master
with:
stack-version: ${{ matrix.versions.es }}
security-enabled: false
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Install ES Lib ${{ matrix.versions.lib }}
run: composer require --dev 'elasticsearch/elasticsearch:~${{ matrix.versions.lib }}' --with-all-dependencies
#
# - name: Wait for ES
# uses: cygnetdigital/wait_for_response@v2.0.0
# with:
# url: 'http://localhost:9200/'
# responseCode: '200'
# timeout: 10000
# interval: 100
- name: Run test suite
run: composer run-script tests
#
# prime_compatiblity:
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# matrix:
# prime-versions: ['2.0']
# name: Prime version ${{ matrix.prime-versions }}
#
# steps:
# - uses: actions/checkout@v2
#
# - name: Set Timezone
# uses: szenius/set-timezone@v1.0
# with:
# timezoneLinux: "Europe/Paris"
#
# - name: Install PHP
# uses: shivammathur/setup-php@v2
# with:
# php-version: 7.2
# extensions: json
# ini-values: date.timezone=Europe/Paris
#
# - name: Configure sysctl limits
# run: |
# sudo swapoff -a
# sudo sysctl -w vm.swappiness=1
# sudo sysctl -w fs.file-max=262144
# sudo sysctl -w vm.max_map_count=262144
#
# - uses: nyaruka/elasticsearch-action@v1
# with:
# elastic version: 5.6
#
# - name: Install dependencies
# run: composer install --prefer-dist --no-progress
#
# - name: Install Prime ${{ matrix.prime-versions }}
# run: composer require --dev 'b2pweb/bdf-prime:~${{ matrix.prime-versions }}.0' --with-all-dependencies
#
# - name: Install ES Lib 5.0
# run: composer require --dev 'elasticsearch/elasticsearch:~5.0' --with-all-dependencies
#
# - name: Run test suite
# run: composer run-script tests
analysis:
name: Analysis
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set Timezone
uses: szenius/set-timezone@v1.0
with:
timezoneLinux: "Europe/Paris"
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
extensions: json
ini-values: date.timezone=Europe/Paris
#
# - name: Install Infection
# run: composer global require infection/infection
- name: Validate composer.json and composer.lock
run: composer validate --strict
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Install ES Lib 7.0
run: composer require --dev 'elasticsearch/elasticsearch:~7.0' --with-all-dependencies
- name: Run type coverage
run: composer run-script psalm
# - name: Run Infection
# run: |
# git fetch --depth=1 origin $GITHUB_BASE_REF
# ~/.composer/vendor/bin/infection --logger-github --git-diff-filter=AM
coverage:
name: Test coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set Timezone
uses: szenius/set-timezone@v1.0
with:
timezoneLinux: "Europe/Paris"
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.0
extensions: json
ini-values: date.timezone=Europe/Paris
- name: Configure sysctl limits
run: |
sudo swapoff -a
sudo sysctl -w vm.swappiness=1
sudo sysctl -w fs.file-max=262144
sudo sysctl -w vm.max_map_count=262144
- name: Runs Elasticsearch 8.1.0
uses: elastic/elastic-github-actions/elasticsearch@master
with:
stack-version: 8.1.0
security-enabled: false
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Install ES Lib 8.0
run: composer require --dev 'elasticsearch/elasticsearch:~8.0' --with-all-dependencies
- name: Run test coverage for ES 8.0
run: ./vendor/bin/phpunit --coverage-clover=coverage-es8.xml
- name: Install ES Lib 7.0
run: composer require --dev 'elasticsearch/elasticsearch:~7.0' --with-all-dependencies
- name: Run test coverage for ES 7.0
run: ./vendor/bin/phpunit --coverage-clover=coverage-es7.xml || true # ignore failure, we only need the coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage-es8.xml,coverage-es7.xml