diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml
index ae92375..68578f2 100644
--- a/.github/workflows/coverage.yml
+++ b/.github/workflows/coverage.yml
@@ -13,36 +13,38 @@ jobs:
steps:
- name: Checkout code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
- php-version: 8.2
+ php-version: 8.3
extensions: dom, curl, libxml, mbstring, zip, pcntl, bcmath, intl, iconv
coverage: pcov
+ - name: Get composer cache directory
+ id: composer-cache
+ run: |
+ echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
+
- name: Cache dependencies
- uses: actions/cache@v2
+ uses: actions/cache@v4
with:
- path: |
- vendor
- ${{ steps.composer-cache-files-dir.outputs.dir }}
- key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }}
+ path: ${{ steps.composer-cache.outputs.dir }}
+ key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install dependencies
env:
COMPOSER_DISCARD_CHANGES: true
- run: composer require --no-progress --no-interaction --prefer-dist --update-with-all-dependencies "laravel/framework:10.*" "orchestra/testbench:8.*"
+ run: composer require --no-progress --no-interaction --prefer-dist --update-with-all-dependencies "laravel/framework:^11.0"
- name: Run and publish code coverage
- uses: paambaati/codeclimate-action@v2.4.0
+ uses: paambaati/codeclimate-action@v9.0
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
with:
coverageCommand: vendor/bin/phpunit --coverage-clover ${{ github.workspace }}/clover.xml
- debug: true
coverageLocations:
"${{github.workspace}}/clover.xml:clover"
diff --git a/.github/workflows/php-cs-fixer.yml b/.github/workflows/php-cs-fixer.yml
index 0cbde27..605dd6b 100644
--- a/.github/workflows/php-cs-fixer.yml
+++ b/.github/workflows/php-cs-fixer.yml
@@ -1,6 +1,10 @@
name: Code Style
-on: [ pull_request, push ]
+on:
+ push:
+ branches:
+ - main
+ pull_request:
jobs:
coverage:
@@ -10,28 +14,32 @@ jobs:
steps:
- name: Checkout code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
- php-version: 8.1
+ php-version: 8.3
extensions: dom, curl, libxml, mbstring, zip, pcntl, bcmath, intl, iconv
+ coverage: none
+
+ - name: Get composer cache directory
+ id: composer-cache
+ run: |
+ echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache dependencies
- uses: actions/cache@v2
+ uses: actions/cache@v4
with:
- path: |
- vendor
- ${{ steps.composer-cache-files-dir.outputs.dir }}
- key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }}
+ path: ${{ steps.composer-cache.outputs.dir }}
+ key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install dependencies
env:
COMPOSER_DISCARD_CHANGES: true
- run: composer require --no-progress --no-interaction --prefer-dist --update-with-all-dependencies "laravel/framework:9.*" "orchestra/testbench:7.*"
+ run: composer require --no-progress --no-interaction --prefer-dist --update-with-all-dependencies "laravel/framework:^11.0"
- name: Run PHP CS Fixer
run: ./vendor/bin/php-cs-fixer fix --diff --dry-run
diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml
index 3147605..9877e3d 100644
--- a/.github/workflows/phpunit.yml
+++ b/.github/workflows/phpunit.yml
@@ -12,19 +12,9 @@ jobs:
strategy:
matrix:
- php: [ 8.1, 8.2, 8.3 ]
- laravel: [ 9.*, 10.*, 11.* ]
+ php: [ 8.2, 8.3, 8.4 ]
+ laravel: [ 10.*, 11.*, 12.* ]
dependency-version: [ stable, lowest ]
- include:
- - laravel: 9.*
- testbench: ^7.22
- - laravel: 10.*
- testbench: 8.*
- - laravel: 11.*
- testbench: 9.x-dev
- exclude:
- - php: 8.1
- laravel: 11.*
timeout-minutes: 10
@@ -42,25 +32,21 @@ jobs:
tools: composer:v2
- name: Register composer cache directory
- id: composer-cache-files-dir
+ id: composer-cache
run: |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache dependencies
- uses: actions/cache@v3
+ uses: actions/cache@v4
with:
- path: |
- vendor
- ${{ steps.composer-cache-files-dir.outputs.dir }}
- key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }}
+ path: ${{ steps.composer-cache.outputs.dir }}
+ key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install dependencies
- run: composer require --no-interaction --prefer-dist --no-update "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}"
-
- - name: Set dependency version
- run: composer update --no-interaction --prefer-dist --with-all-dependencies --prefer-${{ matrix.dependency-version }}
+ run: |
+ composer require --no-interaction --prefer-dist --prefer-${{ matrix.dependency-version }} --update-with-all-dependencies "laravel/framework:${{ matrix.laravel }}"
- name: Execute tests
run: vendor/bin/phpunit
diff --git a/.idea/blade.xml b/.idea/blade.xml
index a07eb08..4d7141c 100644
--- a/.idea/blade.xml
+++ b/.idea/blade.xml
@@ -57,6 +57,7 @@
+
@@ -81,6 +82,7 @@
+
@@ -99,6 +101,7 @@
+
@@ -112,6 +115,7 @@
+
diff --git a/.idea/laravel-idea.xml b/.idea/laravel-idea.xml
index 9a470fd..d8e17dd 100644
--- a/.idea/laravel-idea.xml
+++ b/.idea/laravel-idea.xml
@@ -1,5 +1,10 @@
+
+
+
diff --git a/.idea/php-test-framework.xml b/.idea/php-test-framework.xml
deleted file mode 100644
index 0c962df..0000000
--- a/.idea/php-test-framework.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/composer.json b/composer.json
index f500e33..7ee84f3 100755
--- a/composer.json
+++ b/composer.json
@@ -14,15 +14,15 @@
"license": "MIT",
"require": {
"php": "^8.1",
- "illuminate/support": "^9|^10|^11|12.x-dev|dev-master",
- "illuminate/contracts": "^9|^10|^11|12.x-dev|dev-master",
+ "illuminate/support": "^9|^10|^11|^12|13.x-dev|dev-master|dev-main",
+ "illuminate/contracts": "^9|^10|^11|^12|13.x-dev|dev-master|dev-main",
"ext-json": "*",
"nesbot/carbon": "^2.62.1|^3.0"
},
"require-dev": {
- "orchestra/testbench": "^7.10|^8|^9|9.x-dev|10.x-dev|dev-master",
+ "orchestra/testbench": "^7.10|^8.33|^9.11|^10.0|11.x-dev|dev-master|dev-main",
"friendsofphp/php-cs-fixer": "^3.5",
- "spatie/laravel-ray": "^1.32"
+ "phpunit/phpunit": "^10.5|^11.5"
},
"autoload": {
"psr-4": {
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index cebbf88..ee498a0 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -3,13 +3,9 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
bootstrap="vendor/autoload.php"
colors="true"
- xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"
+ xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"
+ cacheDirectory=".phpunit.cache"
>
-
-
- ./src
-
-
./tests
@@ -26,4 +22,9 @@
+
+
+ ./src
+
+
diff --git a/src/SequenceResolvers/CacheSequenceResolver.php b/src/SequenceResolvers/CacheSequenceResolver.php
index 210bd10..695e1e3 100644
--- a/src/SequenceResolvers/CacheSequenceResolver.php
+++ b/src/SequenceResolvers/CacheSequenceResolver.php
@@ -15,9 +15,28 @@ public function __construct(
public function next(int $timestamp): int
{
$key = "glhd-bits-seq:{$timestamp}";
+
+ $this->withoutSerializationOrCompression(
+ fn() => $this->cache->add($key, 0, now()->addSeconds(10))
+ );
+
+ return $this->cache->increment($key) - 1;
+ }
+
+ protected function withoutSerializationOrCompression(callable $callback)
+ {
+ $store = $this->cache->getStore();
- $this->cache->add($key, 0, now()->addSeconds(10));
+ if (! $store instanceof RedisStore) {
+ return $callback();
+ }
- return $this->cache->increment($key) - 1;
+ $connection = $store->connection();
+
+ if (! $connection instanceof PhpRedisConnection) {
+ return $callback();
+ }
+
+ return $connection->withoutSerializationOrCompression($callback);
}
}