Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 0a7fa8f

Browse filesBrowse files
committed
minor #36647 Execute docker dependent tests with github actions (jakzal)
This PR was merged into the 4.4 branch. Discussion ---------- Execute docker dependent tests with github actions | Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | Fixes #36427 | License | MIT | Doc PR | - * redis, memcached, rabbitmq and vulcain dependent tests moved to the github action * run on PHP 7.1 and 7.4 only * use the `integration` group for all tests that depend on docker services * do not exclude the `integration` group on Travis, but make sure tests that depend on docker services are skipped properly [<img width="1222" alt="image" src="https://user-images.githubusercontent.com/190447/80806323-48339100-8bb2-11ea-95cd-5ce773c74ce6.png">](https://github.com/jakzal/symfony/runs/636461875?check_suite_focus=true) Commits ------- d710c1b Execute docker dependent tests with github actions
2 parents f94d939 + d710c1b commit 0a7fa8f
Copy full SHA for 0a7fa8f

39 files changed

+239
-56
lines changed

‎.github/workflows/tests.yml

Copy file name to clipboard
+101Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
9+
integration:
10+
name: Integration
11+
runs-on: ubuntu-latest
12+
13+
strategy:
14+
matrix:
15+
php: ['7.1', '7.4']
16+
17+
services:
18+
redis:
19+
image: redis:6.0.0
20+
ports:
21+
- 6379:6379
22+
redis-cluster:
23+
image: grokzen/redis-cluster:5.0.4
24+
ports:
25+
- 7000:7000
26+
- 7001:7001
27+
- 7002:7002
28+
- 7003:7003
29+
- 7004:7004
30+
- 7005:7005
31+
- 7006:7006
32+
- 7007:7007
33+
env:
34+
STANDALONE: true
35+
memcached:
36+
image: memcached:1.6.5
37+
ports:
38+
- 11211:11211
39+
rabbitmq:
40+
image: rabbitmq:3.8.3
41+
ports:
42+
- 5672:5672
43+
44+
steps:
45+
- name: Checkout
46+
uses: actions/checkout@v2
47+
48+
- name: Setup PHP
49+
uses: shivammathur/setup-php@v2
50+
with:
51+
coverage: "none"
52+
extensions: "memcached,redis,xsl"
53+
ini-values: "memory_limit=-1"
54+
php-version: "${{ matrix.php }}"
55+
tools: flex
56+
57+
- name: Configure composer
58+
run: |
59+
([ -d ~/.composer ] || mkdir ~/.composer) && cp .github/composer-config.json ~/.composer/config.json
60+
SYMFONY_VERSION=$(cat composer.json | grep '^ *\"dev-master\". *\"[1-9]' | grep -o '[0-9.]*')
61+
echo "::set-env name=SYMFONY_VERSION::$SYMFONY_VERSION"
62+
echo "::set-env name=COMPOSER_ROOT_VERSION::$SYMFONY_VERSION.x-dev"
63+
64+
- name: Determine composer cache directory
65+
id: composer-cache
66+
run: echo "::set-output name=directory::$(composer config cache-dir)"
67+
68+
- name: Cache composer dependencies
69+
uses: actions/cache@v1
70+
with:
71+
path: ${{ steps.composer-cache.outputs.directory }}
72+
key: ${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }}
73+
restore-keys: ${{ matrix.php }}-composer-
74+
75+
- name: Install dependencies
76+
run: |
77+
echo "::group::composer update"
78+
composer update --no-progress --no-suggest --ansi
79+
echo "::endgroup::"
80+
echo "::group::install phpunit"
81+
./phpunit install
82+
echo "::endgroup::"
83+
84+
- name: Run tests
85+
run: ./phpunit --verbose --group integration
86+
env:
87+
SYMFONY_DEPRECATIONS_HELPER: 'max[indirect]=7'
88+
REDIS_HOST: localhost
89+
REDIS_CLUSTER_HOSTS: 'localhost:7000 localhost:7001 localhost:7002 localhost:7003 localhost:7004 localhost:7005'
90+
MESSENGER_REDIS_DSN: redis://127.0.0.1:7006/messages
91+
MESSENGER_AMQP_DSN: amqp://localhost/%2f/messages
92+
MEMCACHED_HOST: localhost
93+
94+
- name: Run HTTP push tests
95+
if: matrix.php == '7.4'
96+
run: |
97+
[ -d .phpunit ] && mv .phpunit .phpunit.bak
98+
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
99+
docker run --rm -e COMPOSER_ROOT_VERSION -e SYMFONY_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 --verbose src/Symfony/Component/HttpClient/Tests/CurlHttpClientTest.php --filter testHttp2Push
100+
sudo rm -rf .phpunit
101+
[ -d .phpunit.bak ] && mv .phpunit.bak .phpunit

‎.travis.yml

Copy file name to clipboardExpand all lines: .travis.yml
-31Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,11 @@ addons:
1313
- slapd
1414
- zookeeperd
1515
- libzookeeper-mt-dev
16-
- rabbitmq-server
1716

1817
env:
1918
global:
2019
- MIN_PHP=7.1.3
2120
- SYMFONY_PROCESS_PHP_TEST_BINARY=~/.phpenv/shims/php
22-
- MESSENGER_AMQP_DSN=amqp://localhost/%2f/messages
23-
- MESSENGER_REDIS_DSN=redis://127.0.0.1:7006/messages
2421
- SYMFONY_PHPUNIT_DISABLE_RESULT_CACHE=1
2522

2623
matrix:
@@ -39,13 +36,6 @@ cache:
3936
- php-$MIN_PHP
4037
- ~/php-ext
4138

42-
services:
43-
- memcached
44-
- mongodb
45-
- redis-server
46-
- rabbitmq
47-
- docker
48-
4939
before_install:
5040
- |
5141
# Enable Sury ppa
@@ -56,12 +46,6 @@ before_install:
5646
sudo apt update
5747
sudo apt install -y librabbitmq-dev libsodium-dev
5848
59-
- |
60-
# Start Redis cluster
61-
docker pull grokzen/redis-cluster:5.0.4
62-
docker run -d -p 7000:7000 -p 7001:7001 -p 7002:7002 -p 7003:7003 -p 7004:7004 -p 7005:7005 -p 7006:7006 -p 7007:7007 -e "STANDALONE=true" --name redis-cluster grokzen/redis-cluster:5.0.4
63-
export REDIS_CLUSTER_HOSTS='localhost:7000 localhost:7001 localhost:7002 localhost:7003 localhost:7004 localhost:7005'
64-
6549
- |
6650
# General configuration
6751
set -e
@@ -141,12 +125,6 @@ before_install:
141125
(cd php-$MIN_PHP && ./configure --enable-sigchild --enable-pcntl && make -j2)
142126
fi
143127
144-
- |
145-
# Install vulcain
146-
wget https://github.com/symfony/binary-utils/releases/download/v0.1/vulcain_0.1.3_Linux_x86_64.tar.gz -O - | tar xz
147-
sudo mv vulcain /usr/local/bin
148-
docker pull php:7.3-alpine
149-
150128
- |
151129
# php.ini configuration
152130
for PHP in $TRAVIS_PHP_VERSION $php_extra; do
@@ -268,15 +246,6 @@ install:
268246
set -e
269247
export PHP=$1
270248
271-
if [[ !$deps && $PHP = 7.2 ]]; then
272-
phpenv global $PHP
273-
tfold 'composer update' $COMPOSER_UP
274-
[ -d .phpunit ] && mv .phpunit .phpunit.bak
275-
tfold src/Symfony/Component/HttpClient.h2push "docker run -it --rm -v $(pwd):/app -v $(phpenv which composer):/usr/local/bin/composer -v /usr/local/bin/vulcain:/usr/local/bin/vulcain -w /app php:7.3-alpine ./phpunit src/Symfony/Component/HttpClient/Tests/CurlHttpClientTest.php --filter testHttp2Push"
276-
sudo rm .phpunit -rf
277-
[ -d .phpunit.bak ] && mv .phpunit.bak .phpunit
278-
fi
279-
280249
if [[ $PHP != 7.4* && $PHP != $TRAVIS_PHP_VERSION && $TRAVIS_PULL_REQUEST != false ]]; then
281250
echo -e "\\n\\e[33;1mIntermediate PHP version $PHP is skipped for pull requests.\\e[0m"
282251
return

‎src/Symfony/Bundle/FrameworkBundle/Tests/Functional/CachePoolsTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/Functional/CachePoolsTest.php
+15Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,12 @@ public function testCachePools()
2626

2727
/**
2828
* @requires extension redis
29+
* @group integration
2930
*/
3031
public function testRedisCachePools()
3132
{
33+
$this->skipIfRedisUnavailable();
34+
3235
try {
3336
$this->doTestCachePools(['root_config' => 'redis_config.yml', 'environment' => 'redis_cache'], RedisAdapter::class);
3437
} catch (\PHPUnit\Framework\Error\Warning $e) {
@@ -51,9 +54,12 @@ public function testRedisCachePools()
5154

5255
/**
5356
* @requires extension redis
57+
* @group integration
5458
*/
5559
public function testRedisCustomCachePools()
5660
{
61+
$this->skipIfRedisUnavailable();
62+
5763
try {
5864
$this->doTestCachePools(['root_config' => 'redis_custom_config.yml', 'environment' => 'custom_redis_cache'], RedisAdapter::class);
5965
} catch (\PHPUnit\Framework\Error\Warning $e) {
@@ -121,4 +127,13 @@ protected static function createKernel(array $options = []): KernelInterface
121127
{
122128
return parent::createKernel(['test_case' => 'CachePools'] + $options);
123129
}
130+
131+
private function skipIfRedisUnavailable()
132+
{
133+
try {
134+
(new \Redis())->connect(getenv('REDIS_HOST'));
135+
} catch (\Exception $e) {
136+
self::markTestSkipped($e->getMessage());
137+
}
138+
}
124139
}

‎src/Symfony/Component/Cache/Tests/Adapter/AbstractRedisAdapterTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Adapter/AbstractRedisAdapterTest.php
+4-3Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,10 @@ public static function setUpBeforeClass(): void
3434
if (!\extension_loaded('redis')) {
3535
self::markTestSkipped('Extension redis required.');
3636
}
37-
if (!@((new \Redis())->connect(getenv('REDIS_HOST')))) {
38-
$e = error_get_last();
39-
self::markTestSkipped($e['message']);
37+
try {
38+
(new \Redis())->connect(getenv('REDIS_HOST'));
39+
} catch (\Exception $e) {
40+
self::markTestSkipped($e->getMessage());
4041
}
4142
}
4243

‎src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Adapter/MemcachedAdapterTest.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
use Symfony\Component\Cache\Adapter\AbstractAdapter;
1616
use Symfony\Component\Cache\Adapter\MemcachedAdapter;
1717

18+
/**
19+
* @group integration
20+
*/
1821
class MemcachedAdapterTest extends AdapterTestCase
1922
{
2023
protected $skippedTests = [

‎src/Symfony/Component/Cache/Tests/Adapter/PredisAdapterTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Adapter/PredisAdapterTest.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
use Predis\Connection\StreamConnection;
1515
use Symfony\Component\Cache\Adapter\RedisAdapter;
1616

17+
/**
18+
* @group integration
19+
*/
1720
class PredisAdapterTest extends AbstractRedisAdapterTest
1821
{
1922
public static function setUpBeforeClass(): void

‎src/Symfony/Component/Cache/Tests/Adapter/PredisClusterAdapterTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Adapter/PredisClusterAdapterTest.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111

1212
namespace Symfony\Component\Cache\Tests\Adapter;
1313

14+
/**
15+
* @group integration
16+
*/
1417
class PredisClusterAdapterTest extends AbstractRedisAdapterTest
1518
{
1619
public static function setUpBeforeClass(): void

‎src/Symfony/Component/Cache/Tests/Adapter/PredisRedisClusterAdapterTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Adapter/PredisRedisClusterAdapterTest.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313

1414
use Symfony\Component\Cache\Adapter\RedisAdapter;
1515

16+
/**
17+
* @group integration
18+
*/
1619
class PredisRedisClusterAdapterTest extends AbstractRedisAdapterTest
1720
{
1821
public static function setUpBeforeClass(): void

‎src/Symfony/Component/Cache/Tests/Adapter/PredisTagAwareAdapterTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Adapter/PredisTagAwareAdapterTest.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
1616
use Symfony\Component\Cache\Tests\Traits\TagAwareTestTrait;
1717

18+
/**
19+
* @group integration
20+
*/
1821
class PredisTagAwareAdapterTest extends PredisAdapterTest
1922
{
2023
use TagAwareTestTrait;

‎src/Symfony/Component/Cache/Tests/Adapter/PredisTagAwareClusterAdapterTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Adapter/PredisTagAwareClusterAdapterTest.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
1616
use Symfony\Component\Cache\Tests\Traits\TagAwareTestTrait;
1717

18+
/**
19+
* @group integration
20+
*/
1821
class PredisTagAwareClusterAdapterTest extends PredisClusterAdapterTest
1922
{
2023
use TagAwareTestTrait;

‎src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterSentinelTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterSentinelTest.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
use Symfony\Component\Cache\Adapter\AbstractAdapter;
1515
use Symfony\Component\Cache\Adapter\RedisAdapter;
1616

17+
/**
18+
* @group integration
19+
*/
1720
class RedisAdapterSentinelTest extends AbstractRedisAdapterTest
1821
{
1922
public static function setUpBeforeClass(): void

‎src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
use Symfony\Component\Cache\Adapter\RedisAdapter;
1717
use Symfony\Component\Cache\Traits\RedisProxy;
1818

19+
/**
20+
* @group integration
21+
*/
1922
class RedisAdapterTest extends AbstractRedisAdapterTest
2023
{
2124
public static function setUpBeforeClass(): void

‎src/Symfony/Component/Cache/Tests/Adapter/RedisArrayAdapterTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Adapter/RedisArrayAdapterTest.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111

1212
namespace Symfony\Component\Cache\Tests\Adapter;
1313

14+
/**
15+
* @group integration
16+
*/
1417
class RedisArrayAdapterTest extends AbstractRedisAdapterTest
1518
{
1619
public static function setUpBeforeClass(): void

‎src/Symfony/Component/Cache/Tests/Adapter/RedisClusterAdapterTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Adapter/RedisClusterAdapterTest.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
use Symfony\Component\Cache\Adapter\RedisAdapter;
1717
use Symfony\Component\Cache\Traits\RedisClusterProxy;
1818

19+
/**
20+
* @group integration
21+
*/
1922
class RedisClusterAdapterTest extends AbstractRedisAdapterTest
2023
{
2124
public static function setUpBeforeClass(): void

‎src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareAdapterTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareAdapterTest.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
use Symfony\Component\Cache\Tests\Traits\TagAwareTestTrait;
1717
use Symfony\Component\Cache\Traits\RedisProxy;
1818

19+
/**
20+
* @group integration
21+
*/
1922
class RedisTagAwareAdapterTest extends RedisAdapterTest
2023
{
2124
use TagAwareTestTrait;

‎src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareArrayAdapterTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareArrayAdapterTest.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter;
1616
use Symfony\Component\Cache\Tests\Traits\TagAwareTestTrait;
1717

18+
/**
19+
* @group integration
20+
*/
1821
class RedisTagAwareArrayAdapterTest extends RedisArrayAdapterTest
1922
{
2023
use TagAwareTestTrait;

‎src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareClusterAdapterTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Adapter/RedisTagAwareClusterAdapterTest.php
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
use Symfony\Component\Cache\Tests\Traits\TagAwareTestTrait;
1717
use Symfony\Component\Cache\Traits\RedisClusterProxy;
1818

19+
/**
20+
* @group integration
21+
*/
1922
class RedisTagAwareClusterAdapterTest extends RedisClusterAdapterTest
2023
{
2124
use TagAwareTestTrait;

‎src/Symfony/Component/Cache/Tests/Simple/AbstractRedisCacheTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Simple/AbstractRedisCacheTest.php
+4-3Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,10 @@ public static function setUpBeforeClass(): void
3737
if (!\extension_loaded('redis')) {
3838
self::markTestSkipped('Extension redis required.');
3939
}
40-
if (!@((new \Redis())->connect(getenv('REDIS_HOST')))) {
41-
$e = error_get_last();
42-
self::markTestSkipped($e['message']);
40+
try {
41+
(new \Redis())->connect(getenv('REDIS_HOST'));
42+
} catch (\Exception $e) {
43+
self::markTestSkipped($e->getMessage());
4344
}
4445
}
4546

‎src/Symfony/Component/Cache/Tests/Simple/MemcachedCacheTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Simple/MemcachedCacheTest.php
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
/**
1919
* @group legacy
20+
* @group integration
2021
*/
2122
class MemcachedCacheTest extends CacheTestCase
2223
{

‎src/Symfony/Component/Cache/Tests/Simple/MemcachedCacheTextModeTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Simple/MemcachedCacheTextModeTest.php
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
/**
1919
* @group legacy
20+
* @group integration
2021
*/
2122
class MemcachedCacheTextModeTest extends MemcachedCacheTest
2223
{

‎src/Symfony/Component/Cache/Tests/Simple/RedisArrayCacheTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Cache/Tests/Simple/RedisArrayCacheTest.php
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
/**
1515
* @group legacy
16+
* @group integration
1617
*/
1718
class RedisArrayCacheTest extends AbstractRedisCacheTest
1819
{

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.