2020-05-01 13:33:43 +01:00
|
|
|
name: Tests
|
|
|
|
|
|
|
|
on:
|
2021-02-25 19:32:02 +00:00
|
|
|
push:
|
|
|
|
pull_request:
|
2020-05-01 13:33:43 +01:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
2021-02-25 19:32:02 +00:00
|
|
|
integration:
|
|
|
|
name: Integration
|
2021-03-02 09:27:35 +00:00
|
|
|
runs-on: Ubuntu-20.04
|
2020-05-01 13:33:43 +01:00
|
|
|
|
2021-02-25 19:32:02 +00:00
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
php: ['7.1', '7.4']
|
2020-05-01 13:33:43 +01:00
|
|
|
|
2021-02-25 19:32:02 +00:00
|
|
|
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
|
2020-05-01 13:33:43 +01:00
|
|
|
|
2021-02-25 19:32:02 +00:00
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
2020-05-01 13:33:43 +01:00
|
|
|
|
2021-02-25 19:32:02 +00:00
|
|
|
- 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 }}"
|
2020-05-01 13:33:43 +01:00
|
|
|
|
2021-02-25 19:32:02 +00:00
|
|
|
- name: Load fixtures
|
|
|
|
uses: docker://bitnami/openldap
|
|
|
|
with:
|
|
|
|
entrypoint: /bin/bash
|
|
|
|
args: -c "(/opt/bitnami/openldap/bin/ldapwhoami -h localhost:3389 -D cn=admin,dc=symfony,dc=com -w symfony||sleep 5) && /opt/bitnami/openldap/bin/ldapadd -h ldap:3389 -D cn=admin,dc=symfony,dc=com -w symfony -f src/Symfony/Component/Ldap/Tests/Fixtures/data/fixtures.ldif && /opt/bitnami/openldap/bin/ldapdelete -h ldap:3389 -D cn=admin,dc=symfony,dc=com -w symfony cn=a,ou=users,dc=symfony,dc=com"
|
2020-11-16 08:41:36 +00:00
|
|
|
|
2021-02-25 19:32:02 +00:00
|
|
|
- name: Configure composer
|
|
|
|
run: |
|
|
|
|
COMPOSER_HOME="$(composer config home)"
|
|
|
|
composer self-update
|
|
|
|
([ -d "$COMPOSER_HOME" ] || mkdir "$COMPOSER_HOME") && cp .github/composer-config.json "$COMPOSER_HOME/config.json"
|
|
|
|
echo "COMPOSER_ROOT_VERSION=$(grep -m1 SYMFONY_VERSION .travis.yml | grep -o '[0-9.x]*').x-dev" >> $GITHUB_ENV
|
2020-05-01 13:33:43 +01:00
|
|
|
|
2021-02-25 19:32:02 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
echo "::group::composer update"
|
|
|
|
composer update --no-progress --ansi
|
|
|
|
echo "::endgroup::"
|
|
|
|
echo "::group::install phpunit"
|
|
|
|
./phpunit install
|
|
|
|
echo "::endgroup::"
|
2020-05-01 13:33:43 +01:00
|
|
|
|
2021-02-25 19:32:02 +00:00
|
|
|
- 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
|
2020-05-01 13:33:43 +01:00
|
|
|
|
2021-02-25 19:32:02 +00:00
|
|
|
- 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
|
2021-05-03 01:08:44 +01:00
|
|
|
|
|
|
|
nightly:
|
|
|
|
name: PHPUnit on PHP nightly
|
|
|
|
runs-on: Ubuntu-20.04
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: Setup PHP
|
|
|
|
uses: shivammathur/setup-php@v2
|
|
|
|
with:
|
|
|
|
coverage: "none"
|
|
|
|
ini-values: "memory_limit=-1"
|
|
|
|
php-version: "8.1"
|
|
|
|
|
|
|
|
- name: Configure composer
|
|
|
|
run: |
|
|
|
|
COMPOSER_HOME="$(composer config home)"
|
|
|
|
composer self-update
|
|
|
|
([ -d "$COMPOSER_HOME" ] || mkdir "$COMPOSER_HOME") && cp .github/composer-config.json "$COMPOSER_HOME/config.json"
|
|
|
|
echo "COMPOSER_ROOT_VERSION=$(grep -m1 SYMFONY_VERSION .travis.yml | grep -o '[0-9.x]*').x-dev" >> $GITHUB_ENV
|
|
|
|
|
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
echo "::group::fake PHP version"
|
|
|
|
composer config platform.php 8.0.99
|
|
|
|
echo "::group::composer update"
|
|
|
|
composer update --no-progress --ansi
|
|
|
|
echo "::endgroup::"
|
|
|
|
echo "::group::install phpunit"
|
|
|
|
./phpunit install
|
|
|
|
echo "::endgroup::"
|
|
|
|
|
|
|
|
- name: Run tests
|
2021-05-14 16:39:55 +01:00
|
|
|
run: |
|
|
|
|
_run_tests() {
|
|
|
|
ok=0
|
|
|
|
echo "::group::$1"
|
|
|
|
|
|
|
|
# Run the tests
|
2021-05-15 09:42:08 +01:00
|
|
|
./phpunit --colors=always --exclude-group tty,benchmark,intl-data ./$1 2>&1 || ok=1
|
2021-05-14 16:39:55 +01:00
|
|
|
echo ::endgroup::
|
|
|
|
|
|
|
|
if [ $ok -ne 0 ]; then
|
|
|
|
echo "::error::$1 failed"
|
|
|
|
fi
|
|
|
|
|
2021-05-14 19:01:46 +01:00
|
|
|
# Make the tests always pass because we don't want the build to fail (yet).
|
|
|
|
return 0
|
|
|
|
#return $ok
|
2021-05-14 16:39:55 +01:00
|
|
|
}
|
|
|
|
export -f _run_tests
|
|
|
|
|
|
|
|
find src/Symfony -mindepth 2 -type f -name phpunit.xml.dist -not -wholename '*/Bridge/PhpUnit/*' -print0 | xargs -0 -n1 dirname | sort | parallel _run_tests
|