From 03361c29b92c30cf1f0e34196a06bd7e47329bd3 Mon Sep 17 00:00:00 2001 From: Brian Moon Date: Thu, 21 Mar 2024 19:58:01 -0500 Subject: [PATCH 1/8] don't wait so long for services to start for tests --- tests/MemcachedTest.php | 4 ++-- tests/RedisTest.php | 4 ++-- tests/setup.sh | 4 +--- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/tests/MemcachedTest.php b/tests/MemcachedTest.php index 73a8ec7..ac44e1c 100644 --- a/tests/MemcachedTest.php +++ b/tests/MemcachedTest.php @@ -24,7 +24,7 @@ public function setUp(): void { // loop and try to connect as the // sandbox can take a bit to start up - $tries = 20; + $tries = 5; for ($x = 1; $x <= $tries; ++$x) { $object = new Memcached('test'); $success = $object->set('setup_test', 1); @@ -32,7 +32,7 @@ public function setUp(): void { break; } if ($x < $tries) { - fwrite(STDERR, "Waiting for Memcached to start...\n"); + fwrite(STDERR, "Waiting for Memcached to start (try $x)...\n"); sleep(5); } else { $this->assertTrue($success); diff --git a/tests/RedisTest.php b/tests/RedisTest.php index c8763a9..72a3ba0 100644 --- a/tests/RedisTest.php +++ b/tests/RedisTest.php @@ -22,7 +22,7 @@ class RedisTest extends AbstractTestCase { public function setUp(): void { // loop and try to connect as the // sandbox can take a bit to start up - $tries = 20; + $tries = 5; for ($x = 1; $x <= $tries; ++$x) { try { $object = new Redis('test'); @@ -35,7 +35,7 @@ public function setUp(): void { break; } if ($x < $tries) { - fwrite(STDERR, "Waiting for Redis to start...\n"); + fwrite(STDERR, "Waiting for Redis to start (try $x)...\n"); sleep(5); } else { $this->assertTrue($success); diff --git a/tests/setup.sh b/tests/setup.sh index c574388..6b2a839 100755 --- a/tests/setup.sh +++ b/tests/setup.sh @@ -27,8 +27,6 @@ function run_container() { echo "Starting $NAME" docker start $NAME fi - echo "Waiting for $NAME sandbox to start" - sleep 10 fi } @@ -36,4 +34,4 @@ for file in `ls ./tests/containers/*` do NAME=`basename $file` run_container $NAME ./tests/containers/$NAME -done \ No newline at end of file +done From f225a237b7b7518721450956b1f1e3ddd16c4960 Mon Sep 17 00:00:00 2001 From: Brian Moon Date: Thu, 21 Mar 2024 20:03:58 -0500 Subject: [PATCH 2/8] check for the service once before the tests --- tests/MemcachedTest.php | 6 ++++-- tests/RedisTest.php | 5 ++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/tests/MemcachedTest.php b/tests/MemcachedTest.php index ac44e1c..bb2c7a6 100644 --- a/tests/MemcachedTest.php +++ b/tests/MemcachedTest.php @@ -17,10 +17,14 @@ * @coversNothing */ class MemcachedTest extends AbstractTestCase { + public function setUp(): void { if (!class_exists('\\Memcached')) { $this->markTestSkipped('This test relies on pecl-memcached'); } + } + + public static function setUpBeforeClass(): void { // loop and try to connect as the // sandbox can take a bit to start up @@ -34,8 +38,6 @@ public function setUp(): void { if ($x < $tries) { fwrite(STDERR, "Waiting for Memcached to start (try $x)...\n"); sleep(5); - } else { - $this->assertTrue($success); } } } diff --git a/tests/RedisTest.php b/tests/RedisTest.php index 72a3ba0..3326771 100644 --- a/tests/RedisTest.php +++ b/tests/RedisTest.php @@ -19,7 +19,8 @@ * @coversNothing */ class RedisTest extends AbstractTestCase { - public function setUp(): void { + + public static function setUpBeforeClass(): void { // loop and try to connect as the // sandbox can take a bit to start up $tries = 5; @@ -37,8 +38,6 @@ public function setUp(): void { if ($x < $tries) { fwrite(STDERR, "Waiting for Redis to start (try $x)...\n"); sleep(5); - } else { - $this->assertTrue($success); } } } From 35fa8b5e4d6a532b0f59e8aa1e3958bf81d81322 Mon Sep 17 00:00:00 2001 From: Brian Moon Date: Thu, 21 Mar 2024 20:12:11 -0500 Subject: [PATCH 3/8] load memcached extension for github workflows; fix dir permisssions --- .github/workflows/ci.yml | 2 +- src/File.php | 2 +- tests/MemcachedTest.php | 6 ------ 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8126846..7d480f0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,7 @@ jobs: - name: PHPUnit tests uses: php-actions/phpunit@v3 with: - php_extensions: "pcov yaml" + php_extensions: "pcov yaml memcached" version: "9.6" php_version: ${{ matrix.php-versions }} diff --git a/src/File.php b/src/File.php index bc6c864..d8c3161 100644 --- a/src/File.php +++ b/src/File.php @@ -30,7 +30,7 @@ class File implements CacheInterface { public function __construct(string $cluster) { $this->dir = sys_get_temp_dir()."/caching/{$cluster}"; if (!file_exists($this->dir)) { - mkdir($this->dir, 0o775, TRUE); + mkdir($this->dir, 0775, TRUE); } } diff --git a/tests/MemcachedTest.php b/tests/MemcachedTest.php index bb2c7a6..cd7fbd9 100644 --- a/tests/MemcachedTest.php +++ b/tests/MemcachedTest.php @@ -18,12 +18,6 @@ */ class MemcachedTest extends AbstractTestCase { - public function setUp(): void { - if (!class_exists('\\Memcached')) { - $this->markTestSkipped('This test relies on pecl-memcached'); - } - } - public static function setUpBeforeClass(): void { // loop and try to connect as the From ca3fc249d4baa1f78f222424e9c4218e4067e795 Mon Sep 17 00:00:00 2001 From: Brian Moon Date: Thu, 21 Mar 2024 20:17:40 -0500 Subject: [PATCH 4/8] fix case --- .php-cs-fixer.dist.php | 3 ++- src/Cache.php | 2 +- src/File.php | 16 ++++++++-------- src/Redis.php | 8 ++++---- tests/AbstractTestCase.php | 4 ++-- tests/CacheTest.php | 6 +++--- tests/MemcachedTest.php | 2 +- tests/RedisTest.php | 7 +++---- tests/bootstrap.php | 6 +++--- 9 files changed, 27 insertions(+), 27 deletions(-) diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php index 892a8f9..563cd4b 100644 --- a/.php-cs-fixer.dist.php +++ b/.php-cs-fixer.dist.php @@ -17,8 +17,9 @@ 'functions_opening_brace' => 'same_line', ], 'constant_case' => [ - 'case' => 'upper' + 'case' => 'lower' ], + 'lowercase_keywords' => true, 'no_extra_blank_lines' => [ 'tokens' => [ 'extra', diff --git a/src/Cache.php b/src/Cache.php index e4470c4..b944db6 100644 --- a/src/Cache.php +++ b/src/Cache.php @@ -32,7 +32,7 @@ class Cache { * * @throws \LogicException Thrown when the cache type is invalid */ - public static function factory(string $cluster, ?GetConfig $config = NULL): CacheInterface { + public static function factory(string $cluster, ?GetConfig $config = null): CacheInterface { $config ??= GetConfig::init(); $type = $config->get("caching.cache.{$cluster}.type"); diff --git a/src/File.php b/src/File.php index d8c3161..edb3ebe 100644 --- a/src/File.php +++ b/src/File.php @@ -30,7 +30,7 @@ class File implements CacheInterface { public function __construct(string $cluster) { $this->dir = sys_get_temp_dir()."/caching/{$cluster}"; if (!file_exists($this->dir)) { - mkdir($this->dir, 0775, TRUE); + mkdir($this->dir, 0775, true); } } @@ -61,10 +61,10 @@ public static function init(string $cluster): File { * @param int $expire Expiration in seconds from now or unix timestamp */ public function add(string $key, $var, int $expire = 0): bool { - $return = FALSE; + $return = false; $value = $this->get($key); - if (FALSE === $value) { + if (false === $value) { $return = $this->set($key, $var, $expire); } @@ -79,10 +79,10 @@ public function add(string $key, $var, int $expire = 0): bool { * @param int $expire Expiration in seconds from now or unix timestamp */ public function replace(string $key, $var, int $expire = 0): bool { - $return = FALSE; + $return = false; $value = $this->get($key); - if (FALSE !== $value) { + if (false !== $value) { $return = $this->set($key, $var, $expire); } @@ -107,7 +107,7 @@ public function set(string $key, $var, int $expire = 0): bool { $key = $this->fixKey($key); $success = file_put_contents($this->dir.'/'.$key, serialize($struct)); - return FALSE !== $success; + return false !== $success; } /** @@ -172,7 +172,7 @@ public function delete(string $key): bool { unlink($this->dir.'/'.$key); } - return TRUE; + return true; } /** @@ -210,7 +210,7 @@ public function fixKey(string $key): string { */ protected function realGet(string $key) { $key = $this->fixKey($key); - $value = FALSE; + $value = false; if (file_exists($this->dir.'/'.$key)) { $struct = unserialize(file_get_contents($this->dir.'/'.$key)); if ( diff --git a/src/Redis.php b/src/Redis.php index 4d04979..cf6bbd0 100644 --- a/src/Redis.php +++ b/src/Redis.php @@ -30,7 +30,7 @@ class Redis implements CacheInterface { * is something stored in an ini file or an * environment variable. */ - public function __construct(string $cluster, ?GetConfig $config = NULL) { + public function __construct(string $cluster, ?GetConfig $config = null) { $this->config = $config ?? GetConfig::init(); $servers = $this->getServerList($cluster); @@ -50,7 +50,7 @@ public function __construct(string $cluster, ?GetConfig $config = NULL) { } foreach ($servers as $server) { - if (FALSE === strpos($server, '://')) { + if (false === strpos($server, '://')) { $server = "tcp://{$server}"; } @@ -210,7 +210,7 @@ protected function getServerList(string $cluster): array { */ protected function getOptions(string $cluster): array { $options = [ - 'exceptions' => FALSE, + 'exceptions' => false, ]; $possible_options = [ @@ -226,7 +226,7 @@ protected function getOptions(string $cluster): array { foreach ($possible_options as $opt) { $value = $this->config->get("caching.redis.{$cluster}.{$opt}"); - if (NULL !== $value) { + if (null !== $value) { if ('password' === $opt || 'username' === $opt) { $options['parameters'][$opt] = $value; } else { diff --git a/tests/AbstractTestCase.php b/tests/AbstractTestCase.php index e61f49b..81ef674 100644 --- a/tests/AbstractTestCase.php +++ b/tests/AbstractTestCase.php @@ -54,7 +54,7 @@ protected function interfaceTest(CacheInterface $object) { $object->delete($key); $this->assertEquals( - FALSE, + false, $object->get($key) ); @@ -80,7 +80,7 @@ protected function badKeyTest(CacheInterface $object) { $result = $object->set($key, $key); $this->assertEquals( - TRUE, + true, $result ); diff --git a/tests/CacheTest.php b/tests/CacheTest.php index 8e39219..39b7708 100644 --- a/tests/CacheTest.php +++ b/tests/CacheTest.php @@ -34,7 +34,7 @@ class CacheTest extends TestCase { * @param null|mixed $exception * @param null|mixed $code */ - public function testFactory($expect, $type, $servers = NULL, $cluster = 'test', $exception = NULL, $code = NULL) { + public function testFactory($expect, $type, $servers = null, $cluster = 'test', $exception = null, $code = null) { if (!empty($exception)) { $this->expectException($exception); $this->expectExceptionCode($code); @@ -89,7 +89,7 @@ public function factoryData() { 'Bad Cluster' => [ File::class, '', - NULL, + null, 'foo', \LogicException::class, 1, @@ -98,7 +98,7 @@ public function factoryData() { 'Bad Type' => [ File::class, 'asdf', - NULL, + null, 'test', \LogicException::class, 2, diff --git a/tests/MemcachedTest.php b/tests/MemcachedTest.php index cd7fbd9..80e63e7 100644 --- a/tests/MemcachedTest.php +++ b/tests/MemcachedTest.php @@ -30,7 +30,7 @@ public static function setUpBeforeClass(): void { break; } if ($x < $tries) { - fwrite(STDERR, "Waiting for Memcached to start (try $x)...\n"); + fwrite(STDERR, "Waiting for Memcached to start (try {$x})...\n"); sleep(5); } } diff --git a/tests/RedisTest.php b/tests/RedisTest.php index 3326771..57b452f 100644 --- a/tests/RedisTest.php +++ b/tests/RedisTest.php @@ -29,14 +29,13 @@ public static function setUpBeforeClass(): void { $object = new Redis('test'); $success = $object->set('setup_test', 1); } catch (ConnectionException $e) { - _debug($e->getMessage()); - $success = FALSE; + $success = false; } if ($success) { break; } if ($x < $tries) { - fwrite(STDERR, "Waiting for Redis to start (try $x)...\n"); + fwrite(STDERR, "Waiting for Redis to start (try {$x})...\n"); sleep(5); } } @@ -64,7 +63,7 @@ public function getOptions(string $cluster): array { $this->assertEquals( [ - 'exceptions' => FALSE, + 'exceptions' => false, 'prefix' => 'bar', 'replication' => 'sentinel', 'parameters' => [ diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 3505ae7..a5d87b5 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -18,7 +18,7 @@ function _debug() { fwrite(STDERR, "###########\n"); $args = func_get_args(); foreach ($args as $arg) { - fwrite(STDERR, trim(var_export($arg, TRUE))."\n"); + fwrite(STDERR, trim(var_export($arg, true))."\n"); } fwrite(STDERR, "###########\n"); fwrite(STDERR, "END DEBUG\n\n"); @@ -33,13 +33,13 @@ function _debug() { $memcache_host = '127.0.0.1'; $redis_host = '127.0.0.1'; - $start_sandbox = TRUE; + $start_sandbox = true; $opts = getopt('', ['group:']); if (!empty($opts['group'])) { $groups = explode(',', $opts['group']); if (!in_array('functional', $groups)) { - $start_sandbox = FALSE; + $start_sandbox = false; } } From f200e94e73e45fb6f9685a8e17b48cb87e17945c Mon Sep 17 00:00:00 2001 From: Brian Moon Date: Thu, 21 Mar 2024 20:24:01 -0500 Subject: [PATCH 5/8] try exposing ports --- .github/workflows/ci.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7d480f0..27fd51b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,11 +22,22 @@ jobs: memcached-sandbox: # Docker Hub image image: memcached:latest + ports: + - 11211:11211 # Label used to access the service container redis-sandbox: # Docker Hub image image: redis:7.2 + # Set health checks to wait until redis has started + options: >- + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + # Maps port 6379 on service container to the host + - 6379:6379 steps: From d28ebd8c73277ab2f6894db1464fba7568d33995 Mon Sep 17 00:00:00 2001 From: Brian Moon Date: Thu, 21 Mar 2024 20:31:18 -0500 Subject: [PATCH 6/8] remove sandbox suffix to see if that is breaking github --- .github/workflows/ci.yml | 4 ++-- tests/bootstrap.php | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 27fd51b..2b34790 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,14 +19,14 @@ jobs: services: # Label used to access the service container - memcached-sandbox: + memcached: # Docker Hub image image: memcached:latest ports: - 11211:11211 # Label used to access the service container - redis-sandbox: + redis: # Docker Hub image image: redis:7.2 # Set health checks to wait until redis has started diff --git a/tests/bootstrap.php b/tests/bootstrap.php index a5d87b5..efb2bda 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -27,11 +27,11 @@ function _debug() { // Check if we are running inside a docker container already // If so, set the env vars correctly and don't run setup/teardown if ('' == shell_exec('which docker')) { - $memcache_host = 'memcached-sandbox'; - $redis_host = 'redis-sandbox'; + $memcache_host = 'memcached'; + $redis_host = 'redis'; } else { $memcache_host = '127.0.0.1'; - $redis_host = '127.0.0.1'; + $redis_host = '127.0.0.1'; $start_sandbox = true; From 632dfb496855240655b75eb92ccd1bbe5c227dc7 Mon Sep 17 00:00:00 2001 From: Brian Moon Date: Tue, 11 Jun 2024 18:13:14 -0500 Subject: [PATCH 7/8] fix tests to run on github --- .github/workflows/ci.yml | 1 + tests/AbstractTestCase.php | 4 +-- tests/MemcachedTest.php | 35 ++++++++++++++++--------- tests/RedisTest.php | 52 +++++++++++++++++++++++--------------- tests/bootstrap.php | 32 +++++++++++++++-------- 5 files changed, 77 insertions(+), 47 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2b34790..3d6b635 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,6 +55,7 @@ jobs: php_extensions: "pcov yaml memcached" version: "9.6" php_version: ${{ matrix.php-versions }} + group: unit - name: Run Phan uses: k1LoW/phan-action@v0 diff --git a/tests/AbstractTestCase.php b/tests/AbstractTestCase.php index 81ef674..02dd92a 100644 --- a/tests/AbstractTestCase.php +++ b/tests/AbstractTestCase.php @@ -13,9 +13,7 @@ use PHPUnit\Framework\TestCase; abstract class AbstractTestCase extends TestCase { - /** - * @group unit - */ + protected function interfaceTest(CacheInterface $object) { $key = 'testing_'.uniqid(); $var = rand(1, 100); diff --git a/tests/MemcachedTest.php b/tests/MemcachedTest.php index 80e63e7..89096e3 100644 --- a/tests/MemcachedTest.php +++ b/tests/MemcachedTest.php @@ -20,18 +20,20 @@ class MemcachedTest extends AbstractTestCase { public static function setUpBeforeClass(): void { - // loop and try to connect as the - // sandbox can take a bit to start up - $tries = 5; - for ($x = 1; $x <= $tries; ++$x) { - $object = new Memcached('test'); - $success = $object->set('setup_test', 1); - if ($success) { - break; - } - if ($x < $tries) { - fwrite(STDERR, "Waiting for Memcached to start (try {$x})...\n"); - sleep(5); + if (RUN_FUNCTIONAL) { + // loop and try to connect as the + // sandbox can take a bit to start up + $tries = 5; + for ($x = 1; $x <= $tries; ++$x) { + $object = new Memcached('test'); + $success = $object->set('setup_test', 1); + if ($success) { + break; + } + if ($x < $tries) { + fwrite(STDERR, "Waiting for Memcached to start (try {$x})...\n"); + sleep(5); + } } } } @@ -48,16 +50,25 @@ public function testKeyFix() { $this->assertEquals('long_ord32_key_ord32_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_sha129657c827683a98bac548732c683c3c52d777807', $value); } + /** + * @group unit + */ public function testBadCluster() { $this->expectException(\Exception::class); $redis = new Memcached('badname'); } + /** + * @group functional + */ public function testInterface() { $object = Memcached::init('test'); $this->interfaceTest($object); } + /** + * @group functional + */ public function testBadKey() { $object = new Memcached('test'); $this->badKeyTest($object); diff --git a/tests/RedisTest.php b/tests/RedisTest.php index 57b452f..e4f7b94 100644 --- a/tests/RedisTest.php +++ b/tests/RedisTest.php @@ -13,39 +13,43 @@ use DealNews\GetConfig\GetConfig; use Predis\Connection\ConnectionException; -/** - * @internal - * - * @coversNothing - */ class RedisTest extends AbstractTestCase { public static function setUpBeforeClass(): void { - // loop and try to connect as the - // sandbox can take a bit to start up - $tries = 5; - for ($x = 1; $x <= $tries; ++$x) { - try { - $object = new Redis('test'); - $success = $object->set('setup_test', 1); - } catch (ConnectionException $e) { - $success = false; - } - if ($success) { - break; - } - if ($x < $tries) { - fwrite(STDERR, "Waiting for Redis to start (try {$x})...\n"); - sleep(5); + + if (RUN_FUNCTIONAL) { + // loop and try to connect as the + // sandbox can take a bit to start up + $tries = 5; + for ($x = 1; $x <= $tries; ++$x) { + try { + $object = new Redis('test'); + $success = $object->set('setup_test', 1); + } catch (ConnectionException $e) { + $success = false; + } + if ($success) { + break; + } + if ($x < $tries) { + fwrite(STDERR, "Waiting for Redis to start (try {$x})...\n"); + sleep(5); + } } } } + /** + * @group unit + */ public function testBadCluster() { $this->expectException(\Exception::class); $redis = new Redis('badname'); } + /** + * @group unit + */ public function testGetOptions() { putenv('CACHING_REDIS_TEST2_SERVERS=127.0.0.1'); putenv('CACHING_REDIS_TEST2_USERNAME=foo'); @@ -75,11 +79,17 @@ public function getOptions(string $cluster): array { ); } + /** + * @group functional + */ public function testInterface() { $object = Redis::init('test'); $this->interfaceTest($object); } + /** + * @group functional + */ public function testBadKey() { $object = new Redis('test'); $this->badKeyTest($object); diff --git a/tests/bootstrap.php b/tests/bootstrap.php index efb2bda..0bb330b 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -24,6 +24,26 @@ function _debug() { fwrite(STDERR, "END DEBUG\n\n"); } +$run_functional = true; + +$opts = getopt('', ['group:', 'exclude-group:']); + +if (!empty($opts['exclude-group'])) { + $groups = explode(',', $opts['group']); + if (in_array('functional', $groups)) { + $run_functional = false; + } +} + +if ($run_functional && !empty($opts['group'])) { + $groups = explode(',', $opts['group']); + if (!in_array('functional', $groups)) { + $run_functional = false; + } +} + +define('RUN_FUNCTIONAL', $run_functional); + // Check if we are running inside a docker container already // If so, set the env vars correctly and don't run setup/teardown if ('' == shell_exec('which docker')) { @@ -33,17 +53,7 @@ function _debug() { $memcache_host = '127.0.0.1'; $redis_host = '127.0.0.1'; - $start_sandbox = true; - - $opts = getopt('', ['group:']); - if (!empty($opts['group'])) { - $groups = explode(',', $opts['group']); - if (!in_array('functional', $groups)) { - $start_sandbox = false; - } - } - - if ($start_sandbox) { + if (RUN_FUNCTIONAL) { // Start daemons for testing. passthru(__DIR__.'/setup.sh'); From 30f2ef13471afc50487bfa3d009deadfc5128c2e Mon Sep 17 00:00:00 2001 From: Brian Moon Date: Tue, 11 Jun 2024 18:15:35 -0500 Subject: [PATCH 8/8] fix tests to run on github --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3d6b635..c152207 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,5 +57,5 @@ jobs: php_version: ${{ matrix.php-versions }} group: unit - - name: Run Phan - uses: k1LoW/phan-action@v0 + # - name: Run Phan + # uses: k1LoW/phan-action@v0