This PR was merged into the 4.4 branch.
Discussion
----------
[Cache] Run Redis Sentinel tests in GithubAction
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Add support for Sentinel tests in GHA
Commits
-------
bd84394dc5
Run Redis Sentinel tests in GithubAction
127 lines
5.1 KiB
YAML
127 lines
5.1 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
|
|
integration:
|
|
name: Integration
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
matrix:
|
|
php: ['7.1', '7.4']
|
|
|
|
services:
|
|
ldap:
|
|
image: bitnami/openldap
|
|
ports:
|
|
- 3389:3389
|
|
env:
|
|
LDAP_ADMIN_USERNAME: admin
|
|
LDAP_ADMIN_PASSWORD: symfony
|
|
LDAP_ROOT: dc=symfony,dc=com
|
|
LDAP_PORT_NUMBER: 3389
|
|
LDAP_USERS: a
|
|
LDAP_PASSWORDS: a
|
|
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
|
|
env:
|
|
STANDALONE: 1
|
|
redis-sentinel:
|
|
image: bitnami/redis-sentinel:6.0
|
|
ports:
|
|
- 26379:26379
|
|
env:
|
|
REDIS_MASTER_HOST: redis
|
|
REDIS_MASTER_SET: redis_sentinel
|
|
REDIS_SENTINEL_QUORUM: 1
|
|
memcached:
|
|
image: memcached:1.6.5
|
|
ports:
|
|
- 11211:11211
|
|
rabbitmq:
|
|
image: rabbitmq:3.8.3
|
|
ports:
|
|
- 5672:5672
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Setup PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
coverage: "none"
|
|
extensions: "memcached,redis,xsl,ldap"
|
|
ini-values: "memory_limit=-1"
|
|
php-version: "${{ matrix.php }}"
|
|
|
|
- name: Load fixtures
|
|
uses: docker://bitnami/openldap
|
|
with:
|
|
entrypoint: /bin/bash
|
|
args: -c "(ldapwhoami -h localhost:3389 -D cn=admin,dc=symfony,dc=com -w symfony||sleep 5) && ldapadd -h ldap:3389 -D cn=admin,dc=symfony,dc=com -w symfony -f src/Symfony/Component/Ldap/Tests/Fixtures/data/fixtures.ldif && ldapdelete -h ldap:3389 -D cn=admin,dc=symfony,dc=com -w symfony cn=a,ou=users,dc=symfony,dc=com"
|
|
|
|
- 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 update --no-progress --no-suggest --ansi
|
|
echo "::endgroup::"
|
|
echo "::group::install phpunit"
|
|
./phpunit install
|
|
echo "::endgroup::"
|
|
|
|
- name: Run tests
|
|
run: ./phpunit --group integration -v
|
|
env:
|
|
REDIS_HOST: localhost
|
|
REDIS_CLUSTER_HOSTS: 'localhost:7000 localhost:7001 localhost:7002 localhost:7003 localhost:7004 localhost:7005'
|
|
REDIS_SENTINEL_HOSTS: 'localhost:26379'
|
|
REDIS_SENTINEL_SERVICE: redis_sentinel
|
|
MESSENGER_REDIS_DSN: redis://127.0.0.1:7006/messages
|
|
MESSENGER_AMQP_DSN: amqp://localhost/%2f/messages
|
|
MEMCACHED_HOST: localhost
|
|
LDAP_HOST: localhost
|
|
LDAP_PORT: 3389
|
|
|
|
- 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
|