Merge branch 'main' into dependabot/github_actions/actions/checkout-3

This commit is contained in:
Ben Ramsey
2022-03-26 16:17:55 -05:00
committed by GitHub
18 changed files with 6743 additions and 68 deletions
+1
View File
@@ -8,6 +8,7 @@
/build/ export-ignore
/captainhook.json export-ignore
/CHANGELOG.md export-ignore
/composer.lock export-ignore
/codecov.yml export-ignore
/CODE_OF_CONDUCT.md export-ignore
/CONTRIBUTING.md export-ignore
+2
View File
@@ -1,6 +1,8 @@
version: 2
updates:
- package-ecosystem: "composer"
allow:
- dependency-type: all
directory: "/"
schedule:
interval: "monthly"
@@ -60,9 +60,6 @@ jobs:
fail-fast: false
matrix:
php-version:
- "7.2"
- "7.3"
- "7.4"
- "8.0"
- "8.1"
@@ -128,9 +125,6 @@ jobs:
fail-fast: false
matrix:
php-version:
- "7.2"
- "7.3"
- "7.4"
- "8.0"
- "8.1"
operating-system:
@@ -0,0 +1,23 @@
# See https://github.com/ridedott/merge-me-action/
# This workflow automates merges from patches sent by Dependabot, and
# only by dependabot, once the other CI workflows pass
name: Auto-merge Dependabot PRs
on:
workflow_run:
types:
- completed
workflows:
- "build"
jobs:
merge-me:
name: Auto-merge Dependabot PRs
runs-on: ubuntu-latest
steps:
- name: Auto-Merge
if: ${{ github.event.workflow_run.conclusion == 'success' }}
uses: ridedott/merge-me-action@v2
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MERGE_METHOD: MERGE
-1
View File
@@ -1,5 +1,4 @@
/captainhook.config.json
/composer.lock
/phpcs.xml
/phpunit.xml
/vendor/
+3 -4
View File
@@ -9,12 +9,11 @@
],
"license": "MIT",
"require": {
"php": "^7.2 || ^8.0",
"php": "^8.0",
"ext-ctype": "*",
"ext-json": "*",
"brick/math": "^0.8 || ^0.9",
"ramsey/collection": "^1.0",
"symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-php80": "^1.14"
"ramsey/collection": "^1.0"
},
"replace": {
"rhumsaa/uuid": "self.version"
Generated
+6671
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -2,7 +2,7 @@
<psalm xmlns="https://getpsalm.org/schema/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
totallyTyped="true"
errorLevel="1"
cacheDirectory="./build/cache/psalm"
errorBaseline="./psalm-baseline.xml">
+5
View File
@@ -27,6 +27,11 @@ use Traversable;
/**
* A collection of UuidBuilderInterface objects
*
* @deprecated this class has been deprecated, and will be removed in 5.0.0. The use-case for this class comes from
* a pre-`phpstan/phpstan` and pre-`vimeo/psalm` ecosystem, in which type safety had to be mostly enforced
* at runtime: that is no longer necessary, now that you can safely verify your code to be correct, and use
* more generic types like `iterable<T>` instead.
*
* @extends AbstractCollection<UuidBuilderInterface>
*/
class BuilderCollection extends AbstractCollection
+3 -3
View File
@@ -28,14 +28,14 @@ use Ramsey\Uuid\UuidInterface;
class FallbackBuilder implements UuidBuilderInterface
{
/**
* @var BuilderCollection
* @var iterable<UuidBuilderInterface>
*/
private $builders;
/**
* @param BuilderCollection $builders An array of UUID builders
* @param iterable<UuidBuilderInterface> $builders An array of UUID builders
*/
public function __construct(BuilderCollection $builders)
public function __construct(iterable $builders)
{
$this->builders = $builders;
}
+4 -7
View File
@@ -14,7 +14,6 @@ declare(strict_types=1);
namespace Ramsey\Uuid;
use Ramsey\Uuid\Builder\BuilderCollection;
use Ramsey\Uuid\Builder\FallbackBuilder;
use Ramsey\Uuid\Builder\UuidBuilderInterface;
use Ramsey\Uuid\Codec\CodecInterface;
@@ -43,7 +42,6 @@ use Ramsey\Uuid\Nonstandard\UuidBuilder as NonstandardUuidBuilder;
use Ramsey\Uuid\Provider\Dce\SystemDceSecurityProvider;
use Ramsey\Uuid\Provider\DceSecurityProviderInterface;
use Ramsey\Uuid\Provider\Node\FallbackNodeProvider;
use Ramsey\Uuid\Provider\Node\NodeProviderCollection;
use Ramsey\Uuid\Provider\Node\RandomNodeProvider;
use Ramsey\Uuid\Provider\Node\SystemNodeProvider;
use Ramsey\Uuid\Provider\NodeProviderInterface;
@@ -350,10 +348,10 @@ class FeatureSet
return new RandomNodeProvider();
}
return new FallbackNodeProvider(new NodeProviderCollection([
return new FallbackNodeProvider([
new SystemNodeProvider(),
new RandomNodeProvider(),
]));
]);
}
/**
@@ -432,11 +430,10 @@ class FeatureSet
return new GuidBuilder($this->numberConverter, $this->timeConverter);
}
/** @psalm-suppress ImpureArgument */
return new FallbackBuilder(new BuilderCollection([
return new FallbackBuilder([
new Rfc4122UuidBuilder($this->numberConverter, $this->timeConverter),
new NonstandardUuidBuilder($this->numberConverter, $this->timeConverter),
]));
]);
}
/**
+1 -1
View File
@@ -87,7 +87,7 @@ class CombGenerator implements RandomGeneratorInterface
*/
public function generate(int $length): string
{
if ($length < self::TIMESTAMP_BYTES || $length < 0) {
if ($length < self::TIMESTAMP_BYTES) {
throw new InvalidArgumentException(
'Length must be a positive integer greater than or equal to ' . self::TIMESTAMP_BYTES
);
@@ -229,6 +229,6 @@ class SystemDceSecurityProvider implements DceSecurityProviderInterface
return '';
}
return trim((string) substr($sid, $lastHyphen + 1));
return trim(substr($sid, $lastHyphen + 1));
}
}
+3 -3
View File
@@ -25,14 +25,14 @@ use Ramsey\Uuid\Type\Hexadecimal;
class FallbackNodeProvider implements NodeProviderInterface
{
/**
* @var NodeProviderCollection
* @var iterable<NodeProviderInterface>
*/
private $nodeProviders;
/**
* @param NodeProviderCollection $providers Array of node providers
* @param iterable<NodeProviderInterface> $providers Array of node providers
*/
public function __construct(NodeProviderCollection $providers)
public function __construct(iterable $providers)
{
$this->nodeProviders = $providers;
}
@@ -21,6 +21,11 @@ use Ramsey\Uuid\Type\Hexadecimal;
/**
* A collection of NodeProviderInterface objects
*
* @deprecated this class has been deprecated, and will be removed in 5.0.0. The use-case for this class comes from
* a pre-`phpstan/phpstan` and pre-`vimeo/psalm` ecosystem, in which type safety had to be mostly enforced
* at runtime: that is no longer necessary, now that you can safely verify your code to be correct, and use
* more generic types like `iterable<T>` instead.
*
* @extends AbstractCollection<NodeProviderInterface>
*/
class NodeProviderCollection extends AbstractCollection
+10 -20
View File
@@ -6,7 +6,6 @@ namespace Ramsey\Uuid\Test\Builder;
use DateTimeInterface;
use Mockery;
use Ramsey\Uuid\Builder\BuilderCollection;
use Ramsey\Uuid\Builder\FallbackBuilder;
use Ramsey\Uuid\Builder\UuidBuilderInterface;
use Ramsey\Uuid\Codec\CodecInterface;
@@ -53,7 +52,7 @@ class FallbackBuilderTest extends TestCase
->with($codec, $bytes)
->andThrow(UnableToBuildUuidException::class);
$fallbackBuilder = new FallbackBuilder(new BuilderCollection([$builder1, $builder2, $builder3]));
$fallbackBuilder = new FallbackBuilder([$builder1, $builder2, $builder3]);
$this->expectException(BuilderNotFoundException::class);
$this->expectExceptionMessage(
@@ -83,25 +82,16 @@ class FallbackBuilderTest extends TestCase
$rfc4122Builder2 = new Rfc4122UuidBuilder($genericNumberConverter, $phpTimeConverter);
$nonstandardBuilder2 = new NonstandardUuidBuilder($genericNumberConverter, $phpTimeConverter);
$builderCollection = new BuilderCollection(
[
$guidBuilder,
$guidBuilder2,
$rfc4122Builder,
$rfc4122Builder2,
$nonstandardBuilder,
$nonstandardBuilder2,
]
);
/** @var list<UuidBuilderInterface> $unserializedBuilderCollection */
$unserializedBuilderCollection = unserialize(serialize([
$guidBuilder,
$guidBuilder2,
$rfc4122Builder,
$rfc4122Builder2,
$nonstandardBuilder,
$nonstandardBuilder2,
]));
$serializedBuilderCollection = serialize($builderCollection);
/** @var BuilderCollection $unserializedBuilderCollection */
$unserializedBuilderCollection = unserialize($serializedBuilderCollection);
$this->assertInstanceOf(BuilderCollection::class, $unserializedBuilderCollection);
/** @var UuidBuilderInterface $builder */
foreach ($unserializedBuilderCollection as $builder) {
$codec = new StringCodec($builder);
@@ -6,7 +6,6 @@ namespace Ramsey\Uuid\Test\Provider\Node;
use Ramsey\Uuid\Exception\NodeException;
use Ramsey\Uuid\Provider\Node\FallbackNodeProvider;
use Ramsey\Uuid\Provider\Node\NodeProviderCollection;
use Ramsey\Uuid\Provider\Node\RandomNodeProvider;
use Ramsey\Uuid\Provider\Node\StaticNodeProvider;
use Ramsey\Uuid\Provider\Node\SystemNodeProvider;
@@ -27,7 +26,7 @@ class FallbackNodeProviderTest extends TestCase
->method('getNode')
->willThrowException(new NodeException());
$provider = new FallbackNodeProvider(new NodeProviderCollection([$providerWithoutNode, $providerWithNode]));
$provider = new FallbackNodeProvider([$providerWithoutNode, $providerWithNode]);
$provider->getNode();
}
@@ -45,9 +44,7 @@ class FallbackNodeProviderTest extends TestCase
$anotherProviderWithoutNode->expects($this->never())
->method('getNode');
$provider = new FallbackNodeProvider(new NodeProviderCollection(
[$providerWithoutNode, $providerWithNode, $anotherProviderWithoutNode]
));
$provider = new FallbackNodeProvider([$providerWithoutNode, $providerWithNode, $anotherProviderWithoutNode]);
$node = $provider->getNode();
$this->assertSame('57764a07f756', $node->toString());
@@ -59,7 +56,7 @@ class FallbackNodeProviderTest extends TestCase
$providerWithoutNode->method('getNode')
->willThrowException(new NodeException());
$provider = new FallbackNodeProvider(new NodeProviderCollection([$providerWithoutNode]));
$provider = new FallbackNodeProvider([$providerWithoutNode]);
$this->expectException(NodeException::class);
$this->expectExceptionMessage(
@@ -75,20 +72,12 @@ class FallbackNodeProviderTest extends TestCase
$randomNodeProvider = new RandomNodeProvider();
$systemNodeProvider = new SystemNodeProvider();
$nodeProviderCollection = new NodeProviderCollection(
[
$staticNodeProvider,
$randomNodeProvider,
$systemNodeProvider,
]
);
$serializedNodeProviderCollection = serialize($nodeProviderCollection);
/** @var NodeProviderCollection $unserializedNodeProviderCollection */
$unserializedNodeProviderCollection = unserialize($serializedNodeProviderCollection);
$this->assertInstanceOf(NodeProviderCollection::class, $unserializedNodeProviderCollection);
/** @var list<NodeProviderInterface> $unserializedNodeProviderCollection */
$unserializedNodeProviderCollection = unserialize(serialize([
$staticNodeProvider,
$randomNodeProvider,
$systemNodeProvider,
]));
foreach ($unserializedNodeProviderCollection as $nodeProvider) {
$this->assertInstanceOf(NodeProviderInterface::class, $nodeProvider);
@@ -91,7 +91,7 @@ class SystemNodeProviderTest extends TestCase
'Node should be a hexadecimal string of 12 characters. Actual node: %s (length: %s)',
[$node->toString(), strlen($node->toString()),]
);
$this->assertRegExp('/^[A-Fa-f0-9]{12}$/', $node->toString(), $message);
$this->assertMatchesRegularExpression('/^[A-Fa-f0-9]{12}$/', $node->toString(), $message);
}
/**