Merge remote-tracking branch 'origin/4.6' #6144
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- main | |
- '[0-9]+.[0-9]+' | |
pull_request: ~ | |
jobs: | |
cs-fix: | |
name: Run code style check | |
runs-on: "ubuntu-22.04" | |
strategy: | |
matrix: | |
php: | |
- '8.3' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP Action | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
coverage: none | |
extensions: 'pdo_sqlite, gd' | |
tools: cs2pr | |
- uses: ramsey/composer-install@v3 | |
with: | |
dependency-versions: highest | |
- name: Run code style check | |
run: composer run-script check-cs -- --format=checkstyle | cs2pr | |
tests: | |
name: Tests | |
runs-on: "ubuntu-22.04" | |
timeout-minutes: 10 | |
strategy: | |
fail-fast: false | |
matrix: | |
php: | |
- '8.3' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP Action | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
coverage: none | |
extensions: pdo_sqlite, gd | |
tools: cs2pr | |
- uses: ramsey/composer-install@v3 | |
with: | |
dependency-versions: highest | |
- name: Setup problem matchers for PHPUnit | |
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" | |
- name: Run test suite | |
run: composer run-script --timeout=600 test-unit | |
- name: Run PHPStan analysis | |
run: composer run-script phpstan | |
integration-tests-postgres: | |
name: PostgreSQL integration tests | |
needs: tests | |
services: | |
postgres: | |
image: postgres:10 | |
ports: | |
- 5432 | |
env: | |
POSTGRES_PASSWORD: postgres | |
POSTGRES_DB: testdb | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
--tmpfs /var/lib/postgresql/data | |
runs-on: "ubuntu-22.04" | |
timeout-minutes: 20 | |
strategy: | |
matrix: | |
php: | |
- '8.3' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP Action | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
coverage: none | |
extensions: pdo_pgsql, gd | |
tools: cs2pr | |
- uses: ramsey/composer-install@v3 | |
with: | |
dependency-versions: highest | |
- name: Setup problem matchers for PHPUnit | |
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" | |
- name: Run integration test suite on Postgres | |
run: composer run-script --timeout=600 test-integration | |
env: | |
SEARCH_ENGINE: legacy | |
DATABASE_URL: "pgsql://postgres:postgres@localhost:${{ job.services.postgres.ports[5432] }}/testdb?server_version=10" | |
integration-tests-mysql: | |
name: MySQL integration tests | |
needs: tests | |
services: | |
mysql: | |
image: ghcr.io/ibexa/core/mysql | |
ports: | |
- 3306/tcp | |
env: | |
MYSQL_RANDOM_ROOT_PASSWORD: true | |
MYSQL_USER: mysql | |
MYSQL_PASSWORD: mysql | |
MYSQL_DATABASE: testdb | |
options: >- | |
--health-cmd="mysqladmin ping" | |
--health-interval=10s | |
--health-timeout=5s | |
--health-retries=5 | |
--tmpfs=/var/lib/mysql | |
runs-on: "ubuntu-22.04" | |
timeout-minutes: 20 | |
strategy: | |
fail-fast: false | |
matrix: | |
php: | |
- '8.3' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP Action | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
coverage: none | |
extensions: pdo_mysql, gd | |
tools: cs2pr | |
- uses: ramsey/composer-install@v3 | |
with: | |
dependency-versions: highest | |
- name: Setup problem matchers for PHPUnit | |
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" | |
- name: Run integration test suite vs MySQL | |
run: composer run-script --timeout=600 test-integration | |
env: | |
SEARCH_ENGINE: legacy | |
DATABASE_URL: "mysql://mysql:[email protected]:${{ job.services.mysql.ports[3306] }}/testdb" |