Skip to content

Require minimum PHP 8.0 #621

Require minimum PHP 8.0

Require minimum PHP 8.0 #621

Workflow file for this run

name: PHP
on:
push:
paths:
- "**.php"
pull_request:
jobs:
code-style:
name: Code Style
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use PHP 8.3
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
extensions: yaml, zip, curl
env:
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: |
composer install --prefer-dist
- name: PHP CS Fixer
run: |
composer run-script php-cs
static-analyse:
name: PHPStan
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use PHP 8.3
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
extensions: yaml, zip, curl
env:
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: |
composer install --prefer-dist
- name: PHP Static Analysis Tool
run: |
composer run-script phpstan
coverage:
name: Coverage
runs-on: ubuntu-latest
services:
search-server:
image: opensearchproject/opensearch:2.13.0
ports:
- 9200:9200
env:
discovery.type: single-node
plugins.security.disabled: true
OPENSEARCH_INITIAL_ADMIN_PASSWORD: myStrongPassword123!
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use PHP 8.3
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
extensions: yaml, zip, curl, pcov
env:
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: |
composer install --prefer-dist
- name: Wait for Search server
run: php ./.github/wait_for_opensearch.php
- name: PHPUnit
run: |
composer run-script phpunit
env:
OPENSEARCH_URL: 'http://localhost:9200'
- uses: codecov/codecov-action@v3
with:
file: ./clover.xml
unit-test:
name: "Unit Test"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
php-version:
- '8.0'
- '8.1'
- '8.2'
- '8.3'
- '8.4'
os:
- ubuntu-latest
- macos-latest
- windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use PHP ${{ matrix.php-version }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: yaml, zip, curl
env:
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: |
composer install --prefer-dist
- name: Unit tests
run: |
composer run unit
integration-test-elasticsearch:
name: Integration Test (Elasticsearch)
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
search-server-image:
- docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.0
services:
search-server:
image: ${{ matrix.search-server-image }}
ports:
- 9200:9200
env:
discovery.type: single-node
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use PHP 8.3
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
extensions: yaml, zip, curl
env:
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: |
composer install --prefer-dist
- name: Wait for Search server
run: php ./.github/wait_for_opensearch.php
- name: Integration tests
run: |
composer run integration
env:
OPENSEARCH_URL: 'http://localhost:9200'
integration-test-opensearch:
name: Integration Test (OpenSearch)
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
search-server-image:
- opensearchproject/opensearch:1.1.0
- opensearchproject/opensearch:1.2.4
- opensearchproject/opensearch:1.3.15
- opensearchproject/opensearch:2.0.1
- opensearchproject/opensearch:2.1.0
- opensearchproject/opensearch:2.2.1
- opensearchproject/opensearch:2.5.0
- opensearchproject/opensearch:2.3.0
- opensearchproject/opensearch:2.4.1
- opensearchproject/opensearch:2.5.0
- opensearchproject/opensearch:2.6.0
- opensearchproject/opensearch:2.7.0
- opensearchproject/opensearch:2.8.0
- opensearchproject/opensearch:2.9.0
- opensearchproject/opensearch:2.10.0
- opensearchproject/opensearch:2.11.1
services:
search-server:
image: ${{ matrix.search-server-image }}
ports:
- 9200:9200
env:
discovery.type: single-node
plugins.security.disabled: true
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use PHP 8.3
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
extensions: yaml, zip, curl
env:
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: |
composer install --prefer-dist
- name: Wait for Search server
run: php ./.github/wait_for_opensearch.php
- name: Integration tests
run: |
composer run integration
env:
OPENSEARCH_URL: 'http://localhost:9200'
integration-test-opensearch-strong-password:
name: Integration Test (OpenSearch w/Strong Password)
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
search-server-image:
- opensearchproject/opensearch:2.12.0
- opensearchproject/opensearch:2.13.0
- opensearchproject/opensearch:2.14.0
- opensearchproject/opensearch:2.15.0
services:
search-server:
image: ${{ matrix.search-server-image }}
ports:
- 9200:9200
env:
discovery.type: single-node
plugins.security.disabled: true
OPENSEARCH_INITIAL_ADMIN_PASSWORD: myStrongPassword123!
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use PHP 8.3
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
extensions: yaml, zip, curl
env:
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: |
composer install --prefer-dist
- name: Wait for Search server
run: php ./.github/wait_for_opensearch.php
- name: Integration tests
run: |
composer run integration
env:
OPENSEARCH_URL: 'http://localhost:9200'