diff --git a/Jenkinsfile b/Jenkinsfile index 4b67637..14bfc76 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,19 +1,44 @@ -node { - docker.image("memcached:latest").withRun("-p 11212:11211") { c -> - docker.image("redis:latest").withRun("-p 6380:6379") { d -> - docker.image("php:7.4").withRun("-e REDIS_HOST=redis -e REDIS_PORT=11212 -e MEMCACHED_HOST=mem -e MEMCACHED_PORT=6380 --link ${d.id}:redis --link ${c.id}:mem") { p -> +pipeline { + agent any + stages { + stage("Setup") { + steps { checkout scm - sh "sh build/docker_install.sh > /dev/null" - sh "curl -sS https://getcomposer.org/installer | php" - sh "php composer.phar install --ignore-platform-reqs" - sh "phpdbg -qrr -- ./vendor/bin/phpunit -c build --coverage-text --colors=never" + sh 'curl -sS https://getcomposer.org/installer | php' + sh 'rm -rf ./vendor' + sh 'rm -f composer.lock' + sh 'php composer.phar install --ignore-platform-reqs' } - docker.image("php:8").withRun("-e REDIS_HOST=redis -e REDIS_PORT=11212 -e MEMCACHED_HOST=mem -e MEMCACHED_PORT=6380 --link ${d.id}:redis --link ${c.id}:mem") { p -> - checkout scm - sh "sh build/docker_install.sh > /dev/null" - sh "curl -sS https://getcomposer.org/installer | php" - sh "php composer.phar install --ignore-platform-reqs" - sh "phpdbg -qrr -- ./vendor/bin/phpunit -c build --coverage-text --colors=never" + } + stage("Test PHP 7.4") { + docker.image("memcached:latest").withRun("-p 11212:11211") { c -> + docker.image("redis:latest").withRun("-p 6380:6379") { d -> + docker.image("php:7.4").withRun("-e REDIS_HOST=redis -e REDIS_PORT=11212 -e MEMCACHED_HOST=mem -e MEMCACHED_PORT=6380 --link ${d.id}:redis --link ${c.id}:mem") { p -> + sh "sh build/docker_install.sh > /dev/null" + sh "php ./vendor/bin/phpunit -c build --no-coverage --colors=never" + } + } + } + } + stage("Test PHP 8") { + docker.image("memcached:latest").withRun("-p 11212:11211") { c -> + docker.image("redis:latest").withRun("-p 6380:6379") { d -> + docker.image("php:7.4").withRun("-e REDIS_HOST=redis -e REDIS_PORT=11212 -e MEMCACHED_HOST=mem -e MEMCACHED_PORT=6380 --link ${d.id}:redis --link ${c.id}:mem") { p -> + sh "sh build/docker_install.sh > /dev/null" + sh "php ./vendor/bin/phpunit -c build --no-coverage --colors=never" + } + } + } + } + stage("Coverage") { + agent any + steps { + sh 'php composer.phar run-script coverage' + step([ + $class: 'CloverPublisher', + cloverReportDir: '', + cloverReportFileName: 'build/logs/clover.xml', + ]) } } } diff --git a/tests/Driver/MemcachedDriverTest.php b/tests/Driver/MemcachedDriverTest.php index df641d0..b96fb3a 100644 --- a/tests/Driver/MemcachedDriverTest.php +++ b/tests/Driver/MemcachedDriverTest.php @@ -34,7 +34,7 @@ class MemcachedDriverTest extends DriverTestBase { if (array_key_exists('MEMCACHED_HOST', $_ENV)) { $config['host'] = $_ENV['MEMCACHED_HOST']; - $config['port'] = 11212; + $config['port'] = $_ENV['MEMCACHED_PORT'] ?? 11211; } $this->driver = new MemcachedDriver($config); diff --git a/tests/Driver/RedisDriverTest.php b/tests/Driver/RedisDriverTest.php index c00f45a..c946529 100644 --- a/tests/Driver/RedisDriverTest.php +++ b/tests/Driver/RedisDriverTest.php @@ -26,7 +26,7 @@ class RedisDriverTest extends DriverTestBase { { $config['scheme'] = 'tcp'; $config['host'] = $_ENV['REDIS_HOST']; - $config['port'] = 6380; + $config['port'] = $_ENV['REDIS_PORT'] ?? 6379; } $this->driver = new RedisDriver($config);