aae9211e7c
* 4.4: [Process] Dont test TTY if there is no TTY support Fixing some Mongolian translating the validators for european portuguese language Fix CI Update validators.he.xlf Update security.he.xlf Update validators.he.xlf Improve performances in CircualReference detection [PHPUnitBridge] Fixed crash on Windows with PHP 8 Fix session called initized several time
155 lines
6.5 KiB
YAML
155 lines
6.5 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
|
|
integration:
|
|
name: Integration
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
matrix:
|
|
php: ['7.2', '7.4']
|
|
|
|
services:
|
|
redis:
|
|
image: redis:6.0.0
|
|
ports:
|
|
- 6379:6379
|
|
redis-cluster:
|
|
image: grokzen/redis-cluster:5.0.4
|
|
ports:
|
|
- 7000:7000
|
|
- 7001:7001
|
|
- 7002:7002
|
|
- 7003:7003
|
|
- 7004:7004
|
|
- 7005:7005
|
|
- 7006:7006
|
|
- 7007:7007
|
|
env:
|
|
STANDALONE: true
|
|
memcached:
|
|
image: memcached:1.6.5
|
|
ports:
|
|
- 11211:11211
|
|
rabbitmq:
|
|
image: rabbitmq:3.8.3
|
|
ports:
|
|
- 5672:5672
|
|
mongodb:
|
|
image: mongo
|
|
ports:
|
|
- 27017:27017
|
|
couchbase:
|
|
image: couchbase:6.5.1
|
|
ports:
|
|
- 8091:8091
|
|
- 8092:8092
|
|
- 8093:8093
|
|
- 8094:8094
|
|
- 11210:11210
|
|
sqs:
|
|
image: asyncaws/testing-sqs
|
|
ports:
|
|
- 9494:9494
|
|
zookeeper:
|
|
image: wurstmeister/zookeeper:3.4.6
|
|
kafka:
|
|
image: wurstmeister/kafka:2.12-2.4.1
|
|
ports:
|
|
- 9092:9092
|
|
env:
|
|
KAFKA_AUTO_CREATE_TOPICS_ENABLE: false
|
|
KAFKA_CREATE_TOPICS: 'test-topic:1:1:compact'
|
|
KAFKA_ADVERTISED_HOST_NAME: localhost
|
|
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
|
|
KAFKA_ADVERTISED_PORT: 9092
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Install system dependencies
|
|
run: |
|
|
echo "::group::add apt sources"
|
|
sudo wget -O - http://packages.couchbase.com/ubuntu/couchbase.key | sudo apt-key add -
|
|
echo "deb http://packages.couchbase.com/ubuntu bionic bionic/main" | sudo tee /etc/apt/sources.list.d/couchbase.list
|
|
echo "::endgroup::"
|
|
|
|
echo "::group::apt-get update"
|
|
sudo apt-get update
|
|
echo "::endgroup::"
|
|
|
|
echo "::group::install tools & libraries"
|
|
sudo apt-get install libcouchbase-dev librdkafka-dev
|
|
echo "::endgroup::"
|
|
|
|
- name: Configure Couchbase
|
|
run: |
|
|
curl -s -u 'username=Administrator&password=111111' -X POST http://localhost:8091/node/controller/setupServices -d 'services=kv%2Cn1ql%2Cindex%2Cfts'
|
|
curl -s -X POST http://localhost:8091/settings/web -d 'username=Administrator&password=111111&port=SAME'
|
|
curl -s -u Administrator:111111 -X POST http://localhost:8091/pools/default/buckets -d 'ramQuotaMB=100&bucketType=ephemeral&name=cache'
|
|
curl -s -u Administrator:111111 -X POST http://localhost:8091/pools/default -d 'memoryQuota=256'
|
|
|
|
- name: Setup PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
coverage: "none"
|
|
extensions: "json,couchbase,memcached,mongodb,redis,rdkafka,xsl"
|
|
ini-values: "memory_limit=-1"
|
|
php-version: "${{ matrix.php }}"
|
|
tools: pecl
|
|
|
|
- name: Configure composer
|
|
run: |
|
|
COMPOSER_HOME="$(composer config home)"
|
|
([ -d "$COMPOSER_HOME" ] || mkdir "$COMPOSER_HOME") && cp .github/composer-config.json "$COMPOSER_HOME/config.json"
|
|
echo "COMPOSER_ROOT_VERSION=$(grep branch-version composer.json | grep -o '[0-9.x]*').x-dev" >> $GITHUB_ENV
|
|
|
|
- name: Determine composer cache directory
|
|
id: composer-cache
|
|
run: echo "::set-output name=directory::$(composer config cache-dir)"
|
|
|
|
- name: Cache composer dependencies
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ${{ steps.composer-cache.outputs.directory }}
|
|
key: ${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }}
|
|
restore-keys: ${{ matrix.php }}-composer-
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
echo "::group::composer update"
|
|
composer require --dev --no-update mongodb/mongodb:@stable
|
|
composer update --no-progress --no-suggest --ansi
|
|
echo "::endgroup::"
|
|
echo "::group::install phpunit"
|
|
./phpunit install
|
|
echo "::endgroup::"
|
|
|
|
- name: Run tests
|
|
run: ./phpunit --group integration
|
|
env:
|
|
REDIS_HOST: localhost
|
|
REDIS_CLUSTER_HOSTS: 'localhost:7000 localhost:7001 localhost:7002 localhost:7003 localhost:7004 localhost:7005'
|
|
MESSENGER_REDIS_DSN: redis://127.0.0.1:7006/messages
|
|
MESSENGER_AMQP_DSN: amqp://localhost/%2f/messages
|
|
MESSENGER_SQS_DSN: "sqs://localhost:9494/messages?sslmode=disable&poll_timeout=0.01"
|
|
MESSENGER_SQS_FIFO_QUEUE_DSN: "sqs://localhost:9494/messages.fifo?sslmode=disable&poll_timeout=0.01"
|
|
MEMCACHED_HOST: localhost
|
|
MONGODB_HOST: localhost
|
|
KAFKA_BROKER: localhost:9092
|
|
|
|
- name: Run HTTP push tests
|
|
if: matrix.php == '7.4'
|
|
run: |
|
|
[ -d .phpunit ] && mv .phpunit .phpunit.bak
|
|
wget -q https://github.com/symfony/binary-utils/releases/download/v0.1/vulcain_0.1.3_Linux_x86_64.tar.gz -O - | tar xz && mv vulcain /usr/local/bin
|
|
docker run --rm -e COMPOSER_ROOT_VERSION -v $(pwd):/app -v $(which composer):/usr/local/bin/composer -v /usr/local/bin/vulcain:/usr/local/bin/vulcain -w /app php:7.4-alpine ./phpunit src/Symfony/Component/HttpClient/Tests/CurlHttpClientTest.php --filter testHttp2Push
|
|
sudo rm -rf .phpunit
|
|
[ -d .phpunit.bak ] && mv .phpunit.bak .phpunit
|