Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 12 additions & 10 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
26 changes: 17 additions & 9 deletions .github/workflows/php-cs-fixer.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
name: Code Style

on: [ pull_request, push ]
on:
push:
branches:
- main
pull_request:

jobs:
coverage:
Expand All @@ -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
30 changes: 8 additions & 22 deletions .github/workflows/phpunit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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
4 changes: 4 additions & 0 deletions .idea/blade.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/laravel-idea.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 0 additions & 15 deletions .idea/php-test-framework.xml

This file was deleted.

8 changes: 4 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": {
Expand Down
13 changes: 7 additions & 6 deletions phpunit.xml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -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"
>
<coverage processUncoveredFiles="true">
<include>
<directory suffix=".php">./src</directory>
</include>
</coverage>
<testsuites>
<testsuite name="Tests">
<directory>./tests</directory>
Expand All @@ -26,4 +22,9 @@
<env name="DB_CONNECTION" value="testing"/>
<env name="TERMINAL_EMULATOR" value="JetBrains-JediTerm"/>
</php>
<source>
<include>
<directory>./src</directory>
</include>
</source>
</phpunit>
23 changes: 21 additions & 2 deletions src/SequenceResolvers/CacheSequenceResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}