Skip to content

Merge branch '0.4' into audit/sentry-correctness-performance #18

Merge branch '0.4' into audit/sentry-correctness-performance

Merge branch '0.4' into audit/sentry-correctness-performance #18

Workflow file for this run

name: reverb
on:
push:
pull_request:
env:
RUN_BLOCKING_TESTS: true
jobs:
reverb:
runs-on: ubuntu-latest
timeout-minutes: 10
services:
redis:
image: redis:8
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
container:
image: phpswoole/swoole:6.2.0-php8.4
strategy:
fail-fast: true
name: Reverb Integration Tests
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Log trigger context
uses: ./.github/actions/log-trigger-context
- name: Setup PHP extensions
uses: ./.github/actions/setup-php
- name: Cache Composer dependencies
uses: actions/cache@v5
with:
path: /root/.composer/cache
key: composer-8.4-${{ hashFiles('composer.lock') }}
restore-keys: composer-8.4-
- name: Install dependencies
run: COMPOSER_MEMORY_LIMIT=-1 composer install --prefer-dist -n -o
- name: Start Reverb test servers
env:
REDIS_HOST: redis
REDIS_PORT: 6379
# Keep shared Reverb server state on the database reserved from
# ParaTest workers in the integration test step below.
REDIS_REVERB_DB: 1
run: |
rm -f /tmp/test-servers-ready
bin/test-servers.sh reverb &
while [ ! -f /tmp/test-servers-ready ]; do sleep 1; done
- name: Execute Reverb integration tests
env:
REDIS_HOST: redis
REDIS_PORT: 6379
REDIS_DB: 0
# Reserve database 1 for shared Reverb server state so a worker's
# test cleanup cannot flush state used by another worker.
REDIS_REVERB_DB: 1
REDIS_TEST_SECONDARY_DB: 1
TEST_SERVER_HOST: 127.0.0.1
# Cap ParaTest's auto-detected workers to the 15 unreserved databases.
run: vendor/bin/paratest --max-processes=15 tests/Integration/Reverb