Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3494 commits
Select commit Hold shift + click to select a range
9e1ef58
Fix FileFailedJobProvider tests for deterministic ordering
binaryfire Mar 20, 2026
4674b06
Port parallel testing infrastructure from Laravel
binaryfire Mar 20, 2026
d7a5ba2
Update TestingServiceProvider to AggregateServiceProvider
binaryfire Mar 20, 2026
e589de7
Add @method annotations for new ParallelTesting callback methods
binaryfire Mar 20, 2026
af0d190
Port parallel testing tests from Laravel
binaryfire Mar 20, 2026
912a2ba
Set HYPERVEL_PARALLEL_TESTING flag in bin/paratest
binaryfire Mar 20, 2026
2ed9ec1
Port Commander and dependencies from Orchestra Testbench
binaryfire Mar 20, 2026
788254d
Port testbench ParallelRunner extending testing ParallelRunner
binaryfire Mar 20, 2026
1d7ea2c
Add container/bail/terminate functions and vendor symlink methods
binaryfire Mar 20, 2026
bea0b3b
Update bin/testbench to use Commander
binaryfire Mar 20, 2026
1a3170e
Remove generateEnv() from Bootstrapper
binaryfire Mar 21, 2026
b4e59e1
Add .env.example to testbench skeleton
binaryfire Mar 21, 2026
32b400b
Align skeleton bootstrap/app.php with Orchestra
binaryfire Mar 21, 2026
39b2d39
Fix Commander vendor path for monorepo structure
binaryfire Mar 21, 2026
112a6f7
Add defensive guards to CreatesApplication for standalone trait usage
binaryfire Mar 21, 2026
74e17dd
Remove APP_ENV=testing from phpunit.xml.dist
binaryfire Mar 21, 2026
b251369
Add rescue() wrappers to attribute resolution matching Orchestra
binaryfire Mar 21, 2026
c05bcd7
Add SyncTestbenchCachedRoutes bootstrapper and routes.stub
binaryfire Mar 21, 2026
a15eaf5
Align HandlesRoutes with Orchestra's remote('route:cache') approach
binaryfire Mar 21, 2026
1e82886
Update DefineCacheRoutesTest for aligned HandlesRoutes
binaryfire Mar 21, 2026
59704a7
Add Bootstrap\CreateVendorSymlink wrapper matching Orchestra
binaryfire Mar 21, 2026
0a904cc
Port testbench PackageManifest subclass from Orchestra
binaryfire Mar 21, 2026
3bccd47
Add Filesystem::json() method matching Laravel
binaryfire Mar 21, 2026
7041fb1
Add is_testbench_cli() and align load_migration_paths() binding
binaryfire Mar 21, 2026
7ec4d2b
Align foundation HandleExceptions and logging config with Laravel
binaryfire Mar 21, 2026
3bfebee
Port testbench deprecation exception layer from Orchestra
binaryfire Mar 21, 2026
626e521
Port PackageManifestTest with fixture-based approach
binaryfire Mar 21, 2026
bdbaf4f
Add workbench fixtures for integration tests
binaryfire Mar 21, 2026
f7c45a3
Add dashboard route to workbench for SlimSkeletonApplicationTest
binaryfire Mar 21, 2026
b6b915a
Add and update test provider fixtures
binaryfire Mar 21, 2026
c7594c4
Align testbench.yaml fixture to use TestbenchServiceProvider
binaryfire Mar 21, 2026
c34f14a
Fix CarbonImmutable to Carbon in Databases/ tests for parity
binaryfire Mar 21, 2026
e12b9b4
Fix CommanderTest debug_mode assertions to true
binaryfire Mar 21, 2026
f3b709a
Fix test base classes and imports for Orchestra parity
binaryfire Mar 21, 2026
342a1c3
Align remaining existing testbench tests with Orchestra
binaryfire Mar 21, 2026
2151340
Move integration tests to Integrations/ directory matching Orchestra
binaryfire Mar 21, 2026
4133044
Rename TestCaseTest to TestCaseTraitsTest, create Orchestra-aligned T…
binaryfire Mar 21, 2026
0ff9a84
Remove testbench route teardown sleep
binaryfire Mar 21, 2026
2a2c5e8
Fix PostgreSQL boolean bindings with emulated prepares
binaryfire Mar 21, 2026
bacc7c1
Gate testing-only DB wiring on isRunningTestCase()
binaryfire Mar 21, 2026
891625a
Fix database regression coverage
binaryfire Mar 21, 2026
9fa3413
Fix parallel database rewriting
binaryfire Mar 21, 2026
4b1a738
Fix parallel database suffix normalization
binaryfire Mar 21, 2026
038037f
Log workflow trigger context
binaryfire Mar 21, 2026
c03ceec
Fix testbench route cache setup
binaryfire Mar 21, 2026
303ac7a
Fix Testbench anonymous test case
binaryfire Mar 21, 2026
771e5fa
Extend SymfonyCommand directly in ServerStartCommand for Swoole event…
binaryfire Mar 21, 2026
065a16d
Fix ReloadDotenvAndConfig to rebuild config via LoadConfiguration
binaryfire Mar 21, 2026
f7fc7aa
Separate testbench_path() and package_path() semantics for third-part…
binaryfire Mar 21, 2026
edb86ee
Add test for package_path resolution without TESTBENCH_WORKING_PATH
binaryfire Mar 21, 2026
b64c321
Add consumer-first config resolution and flushState to Bootstrapper
binaryfire Mar 21, 2026
7bf45bc
Add flush() to testbench Config for static cache reset
binaryfire Mar 21, 2026
07ed9be
Resolve consumer package path via InstalledVersions in bin/testbench
binaryfire Mar 21, 2026
7e74c87
Fix skeleton artisan autoload path and guard against direct execution
binaryfire Mar 21, 2026
ba5a156
Add test for committed skeleton artisan entrypoint rejection
binaryfire Mar 21, 2026
ea6148b
Add resolveTestbenchSourcePath fallback to CopyTestbenchFiles
binaryfire Mar 21, 2026
995e96b
Use package_path for vendor symlink and set APP_RUNNING_IN_CONSOLE fo…
binaryfire Mar 21, 2026
a50dbd0
Add test for Commander CLI package discovery
binaryfire Mar 21, 2026
1ed8388
Exclude TESTBENCH_BASE_PATH from serve subprocess in RemoteCommand
binaryfire Mar 21, 2026
d41d1f4
Add test for RemoteCommand serve TESTBENCH_BASE_PATH exclusion
binaryfire Mar 21, 2026
69ee6a8
Register all package commands, ConfigContract binding, and AboutComma…
binaryfire Mar 21, 2026
0a85bf4
Fire TerminatingConsole::handle() on kernel terminate
binaryfire Mar 21, 2026
c363441
Update Workbench::configuration() to check Bootstrapper then consumer…
binaryfire Mar 21, 2026
7cb4951
Add static state cleanup for ReloadDotenvAndConfig and testbench classes
binaryfire Mar 21, 2026
01acc93
Add composer workflow scripts for testbench package
binaryfire Mar 21, 2026
244f9f9
Remove testbench-sync binary, replaced by package:sync-skeleton command
binaryfire Mar 21, 2026
1c5d63c
Add public and runtime skeleton directories for testbench
binaryfire Mar 21, 2026
7f4c15e
Add DeleteDirectories action for testbench skeleton cleanup
binaryfire Mar 21, 2026
317bf32
Add tests for DeleteDirectories action
binaryfire Mar 21, 2026
2779a8b
Add EnsureDirectoryExists action with stubs directory
binaryfire Mar 21, 2026
3ee437b
Add tests for EnsureDirectoryExists action
binaryfire Mar 21, 2026
c2a4686
Add ServeCommandStarted and ServeCommandEnded events
binaryfire Mar 21, 2026
6dd8c82
Add package:purge-skeleton command
binaryfire Mar 21, 2026
ea346d4
Add tests for package:purge-skeleton command
binaryfire Mar 21, 2026
6c1b6c2
Add testbench serve command wrapping Swoole server start
binaryfire Mar 21, 2026
730a699
Add tests for testbench serve command
binaryfire Mar 21, 2026
e2dd891
Add package:sync-skeleton command
binaryfire Mar 21, 2026
03dd38e
Add tests for package:sync-skeleton command
binaryfire Mar 21, 2026
a604ff1
Add package:test command with Collision integration
binaryfire Mar 21, 2026
7dc8d05
Add tests for package:test command
binaryfire Mar 21, 2026
3644f1e
Add package:test fallback command when Collision is not installed
binaryfire Mar 21, 2026
3af281a
Add tests for package:test fallback command
binaryfire Mar 21, 2026
c31882e
Add vendor:publish command override with relative path display
binaryfire Mar 21, 2026
166b2b3
Add tests for vendor:publish command override
binaryfire Mar 21, 2026
e1edafd
Add tests for TestbenchServiceProvider command registration
binaryfire Mar 21, 2026
4b5f8c4
Add test for AboutCommand testbench info section
binaryfire Mar 21, 2026
30957e5
Add tests for Commander environment variable handling
binaryfire Mar 21, 2026
d36365d
Add tests for Commander path resolution
binaryfire Mar 21, 2026
f32a926
Add tests for Commander serve command environment setup
binaryfire Mar 21, 2026
f102925
Add Phase2ConsoleServiceProvider test fixture
binaryfire Mar 21, 2026
b911d12
Clean up testbench package: modernise types, add docblocks, fix bugs,…
binaryfire Mar 22, 2026
485228f
Fix code style
binaryfire Mar 22, 2026
d4d3585
Sort AfterEachTestSubscriber entries alphabetically by FQCN
binaryfire Mar 22, 2026
41cd61d
Add static caching, performance improvements, and query-aware policy …
binaryfire Mar 22, 2026
e2fd153
Precompute SessionGuard name and recaller name in constructor
binaryfire Mar 22, 2026
98e4670
Cache decoded JWT payload per request via Context
binaryfire Mar 22, 2026
991eeec
Parse Recaller segments once in constructor
binaryfire Mar 22, 2026
938397e
Replace call_user_func with direct invocation in RequestGuard
binaryfire Mar 22, 2026
bc7bb32
Replace Collection with array_map in Authorize middleware
binaryfire Mar 22, 2026
cc9f776
Support aliased Expression values in select() and addSelect()
binaryfire Mar 22, 2026
872f0b3
Add AssertsPolicyQueryConsistency trait for testing policy drift
binaryfire Mar 22, 2026
3af18f7
Fix pagination type errors exposed by Laravel test porting
binaryfire Mar 22, 2026
828e416
Port Laravel pagination tests and merge unique Hyperf tests
binaryfire Mar 22, 2026
c42df0e
Add reflash() to Session contract
binaryfire Mar 22, 2026
d4e4d5a
Fix RouteBinding to accept Container contract
binaryfire Mar 22, 2026
aca0d7f
Add ShouldRescue broadcasting contract
binaryfire Mar 22, 2026
8f32912
Align Broadcaster base class with Laravel
binaryfire Mar 22, 2026
9af8564
Align PusherBroadcaster with Laravel
binaryfire Mar 22, 2026
ab2cc9c
Align AblyBroadcaster with Laravel
binaryfire Mar 22, 2026
bc8f730
Align RedisBroadcaster with Laravel and fix socket duplication bug
binaryfire Mar 22, 2026
5d48ddb
Align BroadcastEvent and UniqueBroadcastEvent with Laravel
binaryfire Mar 22, 2026
cdf6804
Align AnonymousEvent, PendingBroadcast, and BroadcastController with …
binaryfire Mar 22, 2026
6081f6c
Align BroadcastManager and BroadcastServiceProvider with Laravel
binaryfire Mar 22, 2026
eb9d005
Port missing UsePusherChannelsNamesTest from Laravel
binaryfire Mar 22, 2026
38ac9e2
Move broadcasting integration tests to tests/Integration/Broadcasting
binaryfire Mar 22, 2026
15c186d
Port Batch.php from Laravel
binaryfire Mar 22, 2026
4fd2c2f
Port Batchable.php from Laravel
binaryfire Mar 22, 2026
b9d9f29
Port BatchFactory.php from Laravel
binaryfire Mar 22, 2026
8e5dd42
Port BatchRepository.php from Laravel
binaryfire Mar 22, 2026
d383495
Port BusServiceProvider.php from Laravel
binaryfire Mar 22, 2026
2e5faa4
Port ChainedBatch.php from Laravel
binaryfire Mar 22, 2026
2671f31
Port DatabaseBatchRepository.php from Laravel
binaryfire Mar 22, 2026
5d7ddb0
Port Dispatcher.php from Laravel
binaryfire Mar 22, 2026
21f9af4
Port bus event classes from Laravel
binaryfire Mar 22, 2026
78e0313
Port PendingBatch.php from Laravel
binaryfire Mar 22, 2026
f719a3d
Port Queueable.php from Laravel
binaryfire Mar 22, 2026
6da9450
Port UniqueLock.php from Laravel
binaryfire Mar 22, 2026
002da20
Port UpdatedBatchJobCounts.php from Laravel
binaryfire Mar 22, 2026
5e8ac22
Align bus contracts with Laravel
binaryfire Mar 22, 2026
6ebc12e
Fix typing bugs exposed by bus port
binaryfire Mar 22, 2026
934606a
Remove DynamoDB references from queue config
binaryfire Mar 22, 2026
b6b3533
Add PendingBatch::flushState() to test subscriber
binaryfire Mar 22, 2026
8de36e2
Port BusBatchableTest from Laravel
binaryfire Mar 22, 2026
2273a68
Port BusBatchTest from Laravel
binaryfire Mar 22, 2026
6159295
Port BusDispatcherTest from Laravel
binaryfire Mar 22, 2026
09e2747
Port BusPendingBatchTest from Laravel
binaryfire Mar 22, 2026
bc32999
Fix QueueableTest conventions
binaryfire Mar 22, 2026
48afff9
Archive old bus package src and tests
binaryfire Mar 22, 2026
fdce902
Move Reflector from support to reflection package
binaryfire Mar 22, 2026
96aa8cf
Port Conditionable tests from Laravel
binaryfire Mar 22, 2026
e1a0db3
Port SupportMacroableTest from Laravel
binaryfire Mar 22, 2026
b48fdc0
Port SupportReflectsClosuresTest from Laravel
binaryfire Mar 22, 2026
4c9b710
Add collection() method to Config Repository
binaryfire Mar 22, 2026
fef822a
Fix CookieJar::make() to accept nullable value matching Laravel
binaryfire Mar 22, 2026
d4dc9c4
Merge Laravel CookieTest into CookieJarTest
binaryfire Mar 22, 2026
369ba72
Port JsonSchema contract from Laravel
binaryfire Mar 22, 2026
d926b2c
Add json-schema package skeleton
binaryfire Mar 22, 2026
c547be7
Port JsonSchema source files from Laravel
binaryfire Mar 22, 2026
3fc6d2a
Register json-schema in root composer.json
binaryfire Mar 22, 2026
305afc4
Port JsonSchema test fixtures from Laravel
binaryfire Mar 22, 2026
85717ea
Port JsonSchema unit tests from Laravel
binaryfire Mar 22, 2026
1b509fb
Port JsonSchema TypeTest from Laravel
binaryfire Mar 22, 2026
816ae64
Replace Hypervel\Coroutine\defer wrapper with explicit Coroutine::def…
binaryfire Mar 23, 2026
e5ee9f7
Remove Hypervel\Coroutine\defer wrapper function
binaryfire Mar 23, 2026
8e88371
Add DeferredCallback class
binaryfire Mar 23, 2026
9fa0f2a
Add DeferredCallbackCollection class
binaryfire Mar 23, 2026
55c9e52
Add namespaced Hypervel\Support\defer() function
binaryfire Mar 23, 2026
b434966
Replace global defer() with Laravel-aligned implementation
binaryfire Mar 23, 2026
4572169
Add InvokeDeferredCallbacks terminable middleware
binaryfire Mar 23, 2026
8b7d413
Register InvokeDeferredCallbacks in default global middleware
binaryfire Mar 23, 2026
e340b09
Register defer lifecycle handlers in FoundationServiceProvider
binaryfire Mar 23, 2026
752534d
Add withoutDefer() and withDefer() testing helpers
binaryfire Mar 23, 2026
72d4259
Add DeferredCallbackCollection tests
binaryfire Mar 23, 2026
92655bb
Add deferred callbacks integration tests
binaryfire Mar 23, 2026
0ba21e0
Update defer() helper tests for new collection-based implementation
binaryfire Mar 23, 2026
3f01918
Add withoutDefer/withDefer test
binaryfire Mar 23, 2026
2bf9b30
Update middleware test for InvokeDeferredCallbacks registration
binaryfire Mar 23, 2026
63691c7
Add CanFlushLocks contract with flushLocks() and hasSeparateLockStore()
binaryfire Mar 23, 2026
b51a7da
Add touch() to Store contract
binaryfire Mar 23, 2026
7f49b94
Add touch() and widen key types to UnitEnum|string on Repository cont…
binaryfire Mar 23, 2026
7dc0f20
Add cache events: CacheFailedOver, CacheLocksFlushing, CacheLocksFlus…
binaryfire Mar 23, 2026
f59ccd5
Align Lock with Laravel: public isOwnedByCurrentProcess, add isOwnedB…
binaryfire Mar 23, 2026
4a0cef1
Add getName() and withPinnedConnection() to Redis, refactor withoutSe…
binaryfire Mar 23, 2026
27c64fd
Fix RedisLock release/refresh to pack owner for Lua ARGV, add getConn…
binaryfire Mar 23, 2026
460350e
Align DatabaseLock with Laravel: DetectsConcurrencyErrors, concurrenc…
binaryfire Mar 23, 2026
e26693b
Add null guard to ArrayLock getCurrentOwner, fix Carbon import
binaryfire Mar 23, 2026
57311ad
Align ArrayStore with Laravel: all, touch, flushLocks, hasSeparateLoc…
binaryfire Mar 23, 2026
b8e724b
Add touch() to NullStore
binaryfire Mar 23, 2026
5c43f3f
Align FileStore with Laravel: touch, flushLocks, hasSeparateLockStore…
binaryfire Mar 23, 2026
f9ea6cf
Align DatabaseStore with Laravel: touch, forgetMany, flushLocks, conn…
binaryfire Mar 23, 2026
eab83b0
Align RedisStore with Laravel: touch, flushStaleTags, flushLocks, has…
binaryfire Mar 23, 2026
893dfbe
Add touch() to SwooleStore, fix Carbon import
binaryfire Mar 23, 2026
2b145ed
Add touch() to StackStore and StackStoreProxy with record-aware expir…
binaryfire Mar 23, 2026
bf56509
Port FailoverStore from Laravel with coroutine-safe per-instance Cont…
binaryfire Mar 23, 2026
f854611
Port MemoizedStore from Laravel
binaryfire Mar 23, 2026
5c7a7c6
Port SessionStore from Laravel
binaryfire Mar 23, 2026
1d132d3
Port cache:forget command from Laravel
binaryfire Mar 23, 2026
f600c71
Port make:cache-table command with separate cache and cache_locks stu…
binaryfire Mar 23, 2026
6a8b0bd
Delete devtool cache table commands and stubs (replaced by cache pack…
binaryfire Mar 23, 2026
e122f82
Move PruneStaleTagsCommand to generic cache:prune-stale-tags, use flu…
binaryfire Mar 23, 2026
0d8de28
Align ClearCommand with Laravel: add --locks option, fix flush() to u…
binaryfire Mar 23, 2026
67bb670
Align CacheManager with Laravel: public resolve, build, memo, reposit…
binaryfire Mar 23, 2026
7f3aacb
Align Repository with Laravel: flexible, touch, withoutOverlapping, f…
binaryfire Mar 23, 2026
911d05a
Fix TaggedCache event() to check method_exists before calling setTags
binaryfire Mar 23, 2026
bfe9b25
Register new cache commands in CacheServiceProvider
binaryfire Mar 23, 2026
a9778d6
Align cache config: CACHE_STORE env var, default to database, add ses…
binaryfire Mar 23, 2026
d7dd985
Add Psr\SimpleCache\CacheInterface alias to cache.store in container …
binaryfire Mar 23, 2026
79f7414
Add psr/simple-cache-implementation provide to cache composer.json
binaryfire Mar 23, 2026
3d0a597
Align Session Store constructor with Laravel
binaryfire Mar 24, 2026
f0cbb18
Fix SessionStore isExpired strict comparison bug with float sentinel
binaryfire Mar 24, 2026
f3a6470
Align ClearCommand with Laravel's constructor injection pattern
binaryfire Mar 24, 2026
43e7735
Fix Command::$hypervel initialization to not eagerly resolve Container
binaryfire Mar 24, 2026
8c1d684
Add setHypervel() to tests that construct commands directly
binaryfire Mar 24, 2026
190fda0
Add spy() override to Cache facade for partial spy behavior
binaryfire Mar 24, 2026
87ad332
Fix CacheLock::getCurrentOwner() return type to ?string
binaryfire Mar 24, 2026
7e8dc3a
Fix RedisLock getCurrentOwner() return type and acquire() call format
binaryfire Mar 24, 2026
c36cfa6
Fix RedisStore::setPrefix() to accept ?string
binaryfire Mar 24, 2026
c315a02
Fix FileStore::path() visibility to public
binaryfire Mar 24, 2026
9e3e696
Use Sleep::usleep() in Lock::block() for test fakeability
binaryfire Mar 24, 2026
e3000aa
Accept UnitEnum|string for CacheEvent key parameter
binaryfire Mar 24, 2026
bab099e
Fix cache database connection default to null
binaryfire Mar 24, 2026
a5ebde1
Pass null connection name to DatabaseStore in CacheManager
binaryfire Mar 24, 2026
8105324
Accept nullable connection name in DatabaseStore
binaryfire Mar 24, 2026
bbc3ec8
Widen flexible() callback to mixed and normalize integer array keys
binaryfire Mar 24, 2026
1c5508b
Normalize integer array keys in MemoizedStore many() and putMany()
binaryfire Mar 24, 2026
382c2fe
Cast key to string in RetrievesMultipleKeys::putMany()
binaryfire Mar 24, 2026
3eb3c47
Cast keys to string in AllTaggedCache putMany and putManyForever
binaryfire Mar 24, 2026
cb38bb3
Cast keys to string in AnyTaggedCache putMany and putManyForever
binaryfire Mar 24, 2026
80add97
Use Sleep::usleep() in ConcurrencyLimiter for test fakeability
binaryfire Mar 24, 2026
9c43b6a
Use Sleep::usleep() in DurationLimiter for test fakeability
binaryfire Mar 24, 2026
d1f40d6
Use standalone raw Redis clients in InteractsWithRedis helpers
binaryfire Mar 24, 2026
82bebf3
Use trait's redisClient() helper in RedisCacheIntegrationTestCase
binaryfire Mar 24, 2026
ded9248
Move PruneStaleTagsCommandTest to match source command location
binaryfire Mar 24, 2026
869c883
Rename RateLimiterEnumTest to RateLimiterTest for Laravel file parity
binaryfire Mar 24, 2026
d88d02b
Port CacheMemoizedStoreTest from Laravel
binaryfire Mar 24, 2026
6dd26e0
Port CacheSessionStoreTest from Laravel
binaryfire Mar 24, 2026
c042573
Port ClearCommandTest from Laravel
binaryfire Mar 24, 2026
ea67980
Port CacheSpyMemoTest from Laravel
binaryfire Mar 24, 2026
059426a
Port CacheRedisStoreTest from Laravel
binaryfire Mar 24, 2026
539f043
Add ForgetCommand test
binaryfire Mar 24, 2026
d5c3a0d
Add testTouchReturnsFalse to CacheNullStoreTest
binaryfire Mar 24, 2026
1feb6f2
Add 7 missing Laravel methods to CacheArrayStoreTest
binaryfire Mar 24, 2026
526068c
Add 12 missing Laravel methods to CacheDatabaseStoreTest
binaryfire Mar 24, 2026
e742818
Add flush/lock event tests and rename forget failure test
binaryfire Mar 24, 2026
144af8d
Add 9 missing Laravel methods to CacheFileStoreTest
binaryfire Mar 24, 2026
7524dfb
Add testItCanBuildRepositories and testMakesRepositoryWithoutDispatch…
binaryfire Mar 24, 2026
b63ba70
Add 14 missing Laravel methods + 2 regression tests to CacheRepositor…
binaryfire Mar 24, 2026
ef5c75b
Port FileCacheLockTest from Laravel
binaryfire Mar 24, 2026
7f49ef4
Port NoLockTest from Laravel
binaryfire Mar 24, 2026
a2ef4e3
Port RepositoryTest from Laravel
binaryfire Mar 24, 2026
2c0d979
Port MemoizedStoreTest from Laravel
binaryfire Mar 24, 2026
762c8bf
Port RedisCacheLockTest from Laravel
binaryfire Mar 24, 2026
f52053b
Port PhpRedisCacheLockTest from Laravel
binaryfire Mar 24, 2026
d57b4e1
Port RedisStoreTest from Laravel
binaryfire Mar 24, 2026
38732a5
Add touch() tests to CacheSwooleStoreTest
binaryfire Mar 24, 2026
6f0ee4a
Add touch() tests to CacheStackStoreTest
binaryfire Mar 24, 2026
792b4c2
Add getConnectionName() test to CacheDatabaseLockTest
binaryfire Mar 24, 2026
ce72a7b
Add getConnectionName() test and fix mock format in RedisLockTest
binaryfire Mar 24, 2026
ed53b70
Fix mock format in CacheRedisLockTest for positional args
binaryfire Mar 24, 2026
0ccb4a1
Update porting guide: testbench locations, dismiss rule, remove stale…
binaryfire Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
51 changes: 30 additions & 21 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,41 +1,50 @@
# Integration tests environment example
# Copy this file to .env and configure to run integration tests locally.
#
# ## Database Configuration##
# Set DB_CONNECTION to the database you want to test against.
# Tests in tests/Integration/Database will run against this connection.
#
# ## Redis Configuration ##
# Integration tests auto-skip if Redis is unavailable on default host/port.
# Set REDIS_HOST to run tests against a specific Redis instance.
# If REDIS_HOST is set explicitly, tests will fail (not skip) if Redis is unavailable.

# Database
# SQLite
# DB_CONNECTION=sqlite
# DB_DATABASE=/tmp/testing.sqlite

# MySQL
# DB_CONNECTION=mysql
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=testing
# DB_USERNAME=root
# DB_PASSWORD=password

# MariaDB
# DB_CONNECTION=mariadb
# DB_HOST=127.0.0.1
# DB_PORT=3307
# DB_DATABASE=testing
# DB_USERNAME=root
# DB_PASSWORD=password

# Postgres
# DB_CONNECTION=pgsql
# DB_HOST=127.0.0.1
# DB_PORT=5432
# DB_DATABASE=testing
# DB_USERNAME=postgres
# DB_PASSWORD=password

# Redis
# REDIS_HOST=127.0.0.1
# REDIS_PORT=6379
# REDIS_AUTH=
# REDIS_DB=8
# Integration Tests
# Copy this file to .env and configure to run integration tests locally.
# Tests are skipped by default. Set the RUN_*_INTEGRATION_TESTS vars to enable.
# REDIS_PASSWORD=password
# REDIS_DB=1

# Meilisearch Integration Tests
RUN_MEILISEARCH_INTEGRATION_TESTS=false
MEILISEARCH_HOST=127.0.0.1
MEILISEARCH_PORT=7700
MEILISEARCH_KEY=secret
# MEILISEARCH_HOST=127.0.0.1
# MEILISEARCH_PORT=7700
# MEILISEARCH_KEY=secret

# Typesense Integration Tests
RUN_TYPESENSE_INTEGRATION_TESTS=false
TYPESENSE_HOST=127.0.0.1
TYPESENSE_PORT=8108
TYPESENSE_API_KEY=secret
TYPESENSE_PROTOCOL=http
# TYPESENSE_HOST=127.0.0.1
# TYPESENSE_PORT=8108
# TYPESENSE_API_KEY=secret
# TYPESENSE_PROTOCOL=http
27 changes: 27 additions & 0 deletions .github/actions/log-trigger-context/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Log trigger context
description: Log the commit context that triggered this workflow run

runs:
using: composite
steps:
- name: Log trigger context
shell: bash
env:
WORKFLOW_NAME: ${{ github.workflow }}
JOB_NAME: ${{ github.job }}
EVENT_NAME: ${{ github.event_name }}
REF_NAME: ${{ github.ref }}
TRIGGER_COMMIT_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
PULL_REQUEST_HEAD_SHA: ${{ github.event.pull_request.head.sha || '' }}
WORKFLOW_SHA: ${{ github.sha }}
run: |
echo "Workflow: ${WORKFLOW_NAME}"
echo "Job: ${JOB_NAME}"
echo "Event: ${EVENT_NAME}"
echo "Ref: ${REF_NAME}"
echo "Trigger commit SHA: ${TRIGGER_COMMIT_SHA}"
echo "Workflow SHA: ${WORKFLOW_SHA}"

if [ -n "${PULL_REQUEST_HEAD_SHA}" ]; then
echo "Pull request head SHA: ${PULL_REQUEST_HEAD_SHA}"
fi
36 changes: 36 additions & 0 deletions .github/actions/setup-php/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Setup PHP Extensions
description: Install PHP extensions required by the test suite

runs:
using: composite
steps:
- name: Install PHP extensions
shell: bash
run: |
apt-get update -qq
apt-get install -y -qq libgmp-dev libicu-dev libpq-dev libpng-dev libjpeg-dev libfreetype6-dev libsqlite3-dev > /dev/null

# Core extensions (installed via docker-php-ext-install)
core_extensions="pcntl intl gmp pdo_pgsql pdo_mysql pdo_sqlite sqlite3 bcmath gd fileinfo ftp"
to_install=""
for ext in $core_extensions; do
if ! php -m 2>/dev/null | grep -qi "^${ext}$"; then
to_install="$to_install $ext"
fi
done

if [ -n "$to_install" ]; then
if echo "$to_install" | grep -q "gd"; then
docker-php-ext-configure gd --with-freetype --with-jpeg > /dev/null
fi
docker-php-ext-install -j$(nproc) $to_install > /dev/null
fi

# PECL extensions
if ! php -m 2>/dev/null | grep -qi "^redis$"; then
pecl install redis > /dev/null
docker-php-ext-enable redis > /dev/null
fi

# Disable Swoole shortnames to avoid shadowing foundation helpers
echo "swoole.use_shortname=Off" > /usr/local/etc/php/conf.d/99-swoole-shortname.ini
Loading