| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 |
- name: "Continuous Integration"
- on:
- - push
- - pull_request
- jobs:
- tests:
- name: "CI"
- runs-on: "${{ matrix.operating-system }}"
- strategy:
- fail-fast: false
- matrix:
- php-version:
- - "7.2"
- - "7.3"
- - "7.4"
- - "8.0"
- - "8.1"
- dependencies: [highest]
- operating-system:
- - "ubuntu-latest"
- include:
- - php-version: "7.2"
- dependencies: lowest
- operating-system: ubuntu-latest
- - php-version: "8.1"
- dependencies: lowest
- operating-system: ubuntu-latest
- steps:
- - name: "Checkout"
- uses: "actions/checkout@v2"
- - name: Run CouchDB
- timeout-minutes: 1
- continue-on-error: true
- uses: "cobot/couchdb-action@master"
- with:
- couchdb version: '2.3.1'
- - name: Run MongoDB
- uses: supercharge/mongodb-github-action@1.7.0
- with:
- mongodb-version: 5.0
- - name: "Install PHP"
- uses: "shivammathur/setup-php@v2"
- with:
- coverage: "none"
- php-version: "${{ matrix.php-version }}"
- extensions: mongodb, redis, amqp
- tools: "composer:v2"
- ini-values: "memory_limit=-1"
- - name: Add require for mongodb/mongodb to make tests runnable
- run: 'composer require mongodb/mongodb --dev --no-update'
- - name: "Change dependencies"
- run: |
- composer require --no-update --no-interaction --dev elasticsearch/elasticsearch:^7
- composer config --no-plugins allow-plugins.ocramius/package-versions true
- - name: "Update dependencies with composer"
- uses: "ramsey/composer-install@v1"
- with:
- dependency-versions: "${{ matrix.dependencies }}"
- - name: "Run tests"
- run: "composer exec phpunit -- --exclude-group Elasticsearch,Elastica --verbose"
- - name: "Run tests with psr/log 3"
- if: "contains(matrix.dependencies, 'highest') && matrix.php-version >= '8.0'"
- run: |
- composer remove --no-update --dev graylog2/gelf-php ruflin/elastica elasticsearch/elasticsearch rollbar/rollbar
- composer require --no-update psr/log:^3
- composer update -W
- composer exec phpunit -- --exclude-group Elasticsearch,Elastica --verbose
- tests-es-7:
- name: "CI with ES ${{ matrix.es-version }} on PHP ${{ matrix.php-version }}"
- needs: "tests"
- runs-on: "${{ matrix.operating-system }}"
- strategy:
- fail-fast: false
- matrix:
- operating-system:
- - "ubuntu-latest"
- php-version:
- - "7.2"
- - "7.3"
- - "7.4"
- - "8.0"
- - "8.1"
- dependencies:
- - "highest"
- - "lowest"
- es-version:
- - "7.0.0"
- - "7.17.0"
- exclude:
- # php 7.3 is required
- - php-version: "7.2"
- es-version: "7.17.0"
- # tests failing due an error in deprecated guzzlehttp/ringphp
- - php-version: "7.3"
- es-version: "7.0.0"
- - php-version: "7.4"
- es-version: "7.0.0"
- steps:
- - name: "Checkout"
- uses: "actions/checkout@v2"
- # required for elasticsearch
- - 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: Run Elasticsearch
- timeout-minutes: 1
- uses: elastic/elastic-github-actions/elasticsearch@master
- with:
- stack-version: "${{ matrix.es-version }}"
- - name: "Install PHP"
- uses: "shivammathur/setup-php@v2"
- with:
- coverage: "none"
- php-version: "${{ matrix.php-version }}"
- extensions: mongodb, redis, amqp
- tools: "composer:v2"
- ini-values: "memory_limit=-1"
- - name: "Change dependencies"
- run: "composer require --no-update --no-interaction --dev elasticsearch/elasticsearch:^${{ matrix.es-version }}"
- - name: "Update dependencies with composer"
- uses: "ramsey/composer-install@v1"
- with:
- dependency-versions: "${{ matrix.dependencies }}"
- - name: "Run tests"
- run: "composer exec phpunit -- --group Elasticsearch,Elastica --verbose"
- - name: "Run tests with psr/log 3"
- if: "contains(matrix.dependencies, 'highest') && matrix.php-version >= '8.0'"
- run: |
- composer remove --no-update --dev graylog2/gelf-php ruflin/elastica elasticsearch/elasticsearch rollbar/rollbar
- composer require --no-update --no-interaction --dev ruflin/elastica elasticsearch/elasticsearch:^7
- composer require --no-update psr/log:^3
- composer update -W
- composer exec phpunit -- --group Elasticsearch,Elastica --verbose
- tests-es-8:
- name: "CI with ES ${{ matrix.es-version }} on PHP ${{ matrix.php-version }}"
- needs: "tests"
- runs-on: "${{ matrix.operating-system }}"
- strategy:
- fail-fast: false
- matrix:
- operating-system:
- - "ubuntu-latest"
- php-version:
- # ES 8 requires PHP 7.4+
- - "7.4"
- - "8.0"
- - "8.1"
- dependencies:
- - "highest"
- - "lowest"
- es-version:
- - "8.0.0"
- - "8.2.0"
- steps:
- - name: "Checkout"
- uses: "actions/checkout@v2"
- # required for elasticsearch
- - 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: Run Elasticsearch
- timeout-minutes: 1
- uses: elastic/elastic-github-actions/elasticsearch@master
- with:
- stack-version: "${{ matrix.es-version }}"
- - name: "Install PHP"
- uses: "shivammathur/setup-php@v2"
- with:
- coverage: "none"
- php-version: "${{ matrix.php-version }}"
- extensions: mongodb, redis, amqp
- tools: "composer:v2"
- ini-values: "memory_limit=-1"
- - name: "Change dependencies"
- run: |
- composer remove --no-update --dev graylog2/gelf-php ruflin/elastica elasticsearch/elasticsearch rollbar/rollbar
- composer require --no-update --no-interaction --dev elasticsearch/elasticsearch:^8
- - name: "Update dependencies with composer"
- uses: "ramsey/composer-install@v1"
- with:
- dependency-versions: "${{ matrix.dependencies }}"
- - name: "Run tests"
- run: "composer exec phpunit -- --group Elasticsearch,Elastica --verbose"
- - name: "Run tests with psr/log 3"
- if: "contains(matrix.dependencies, 'highest') && matrix.php-version >= '8.0'"
- run: |
- composer require --no-update psr/log:^3
- composer update -W
- composer exec phpunit -- --group Elasticsearch,Elastica --verbose
|