Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3804 commits
Select commit Hold shift + click to select a range
37ba03c
Fix session cookie secure flag — preserve null for Symfony auto-detec…
binaryfire Mar 26, 2026
4637fab
Add SessionTableCommand to session package
binaryfire Mar 26, 2026
4f214a6
Remove SessionTableCommand from devtool — now owned by session package
binaryfire Mar 26, 2026
50bc6b9
Rename testbench session cookie from testing_session to hypervel_session
binaryfire Mar 26, 2026
83b0b9e
Fix existing session tests — add missing test, align with Laravel
binaryfire Mar 26, 2026
29d2549
Add missing Laravel tests to SessionStoreTest — backed enum tests, ha…
binaryfire Mar 26, 2026
be14189
Port CacheBasedSessionHandlerTest from Laravel
binaryfire Mar 26, 2026
970408e
Port FileSessionHandlerTest from Laravel
binaryfire Mar 26, 2026
58b9ae9
Port AuthenticateSessionTest from Laravel
binaryfire Mar 26, 2026
aedc9a5
Update StartSessionTest — secure default is now null
binaryfire Mar 26, 2026
5015713
Port SessionPersistenceTest from Laravel
binaryfire Mar 26, 2026
f6aab83
Port CookieSessionHandlerTest from Laravel
binaryfire Mar 26, 2026
5ba9181
Port DatabaseSessionHandlerTest from Laravel
binaryfire Mar 26, 2026
f9fce1a
Port SessionTableCommandTest from Laravel
binaryfire Mar 26, 2026
2ae8e4b
Fix tests affected by session cookie rename and Redis session config
binaryfire Mar 26, 2026
980cb9f
Fix failing session test
binaryfire Mar 26, 2026
cbd8e77
Archive existing filesystem package before Laravel alignment
binaryfire Mar 26, 2026
a8a16f0
Align AwsS3V3Adapter with Laravel — add directory separator fix
binaryfire Mar 26, 2026
3ef2c25
Align LocalFilesystemAdapter with Laravel — add temporary upload URL …
binaryfire Mar 26, 2026
97c8817
Align FilesystemServiceProvider with Laravel — add file serving routes
binaryfire Mar 26, 2026
755442c
Port ServeFile from Laravel — invokable controller for serving files
binaryfire Mar 26, 2026
5aa0e69
Port ReceiveFile from Laravel — invokable controller for receiving up…
binaryfire Mar 26, 2026
994aee3
Align LockableFile with Laravel — remove redundant docblocks
binaryfire Mar 26, 2026
d0da435
Align Filesystem with Laravel — add missing methods, fix bugs
binaryfire Mar 26, 2026
e340d18
Align FilesystemAdapter with Laravel — add reporting, serve, upload URLs
binaryfire Mar 26, 2026
d6773d2
Align FilesystemManager with Laravel — fix bugs, add R2 detection
binaryfire Mar 26, 2026
fe27485
Add symfony/mime to filesystem package suggestions
binaryfire Mar 26, 2026
ba45d74
Update File facade docblocks for aligned Filesystem API
binaryfire Mar 26, 2026
dad78ba
Align Storage facade with Laravel — fix fake/persistentFake, update d…
binaryfire Mar 26, 2026
d3030d2
Fix cache test chmod mocks to return correct types
binaryfire Mar 26, 2026
e38cb11
Update FilesystemManagerTest for int-backed enum fix
binaryfire Mar 26, 2026
429e7fd
Port FilesystemServiceProviderTest from Laravel with regression test
binaryfire Mar 26, 2026
2102605
Port integration FilesystemTest from Laravel
binaryfire Mar 26, 2026
93bcc87
Add test fixture for filesystem integration tests
binaryfire Mar 26, 2026
81bdf7b
Port ReceiveFileTest from Laravel
binaryfire Mar 26, 2026
834676b
Port integration StorageTest from Laravel
binaryfire Mar 26, 2026
7168d77
Add regression tests for Storage::fake/persistentFake alignment
binaryfire Mar 26, 2026
a452774
Add body suppression flag to Response for HEAD requests
binaryfire Mar 27, 2026
bba29e4
Add coroutine-safe response factory binding in HttpServiceProvider
binaryfire Mar 27, 2026
8780966
Add Symfony Response alias for coroutine-safe response binding
binaryfire Mar 27, 2026
879273c
Add shared FakeSwooleSocket and FakeWritableConnection for tests
binaryfire Mar 27, 2026
46a0c89
Seed connected response with body suppression in test harness
binaryfire Mar 27, 2026
2545715
Update TestResponse for Hypervel streamed responses
binaryfire Mar 27, 2026
8b3a89f
Fix Server to use raw transport method for HEAD and body decisions
binaryfire Mar 27, 2026
22c19f5
Break file stream loop on failed write to avoid wasted I/O
binaryfire Mar 27, 2026
d8b4e48
Update FilesystemAdapterTest — use shared fakes, add failed write test
binaryfire Mar 27, 2026
6de88c7
Add ServerTest regression for malformed _method with override enabled
binaryfire Mar 27, 2026
38a5c19
Add response binding, streaming, and HEAD regression tests
binaryfire Mar 27, 2026
25baf6b
Port ServeFileTest from Laravel with HEAD regression test
binaryfire Mar 27, 2026
6788927
Fix Filesystem::json() return type and locked put() race condition
binaryfire Mar 27, 2026
86e83ec
Make size() lazy and normalize header values in FilesystemAdapter::re…
binaryfire Mar 27, 2026
f8cea8b
Widen FilesystemManager and Factory return types to mixed
binaryfire Mar 27, 2026
e137a69
Update File facade json() docblock to mixed
binaryfire Mar 27, 2026
75878ec
Port FilesystemTest from Laravel with coroutine concurrency test
binaryfire Mar 27, 2026
bfc0b3a
Add cross-process file locking tests and locked put() regressions
binaryfire Mar 27, 2026
3a48906
Merge missing Laravel tests into FilesystemAdapterTest
binaryfire Mar 27, 2026
7321654
Merge missing Laravel tests into FilesystemManagerTest
binaryfire Mar 27, 2026
4a5f99f
Fix filesystem tests
binaryfire Mar 27, 2026
ef00115
Align process package with Laravel parity
binaryfire Mar 27, 2026
76cb6d3
Update Process facade docblocks for Laravel parity
binaryfire Mar 27, 2026
e5e864a
Add hypervel/contracts dependency to process package
binaryfire Mar 27, 2026
6c31ae7
Add regression tests for process package parity changes
binaryfire Mar 27, 2026
f558102
Align process tests with Laravel parity
binaryfire Mar 27, 2026
4983669
Standardize RequiresOperatingSystem attribute to use Darwin
binaryfire Mar 27, 2026
a9253eb
Widen InteractsWithTime to accept nullable delay
binaryfire Mar 27, 2026
d192361
Add morph map support to ModelIdentifier
binaryfire Mar 27, 2026
29bd1e7
Align queue contracts with Laravel
binaryfire Mar 27, 2026
3eab9c0
Fix nullable chain catch callbacks and align Batch
binaryfire Mar 27, 2026
edb4fea
Add PendingChain for job chain dispatch support
binaryfire Mar 27, 2026
6061912
Move queue exceptions to root namespace
binaryfire Mar 27, 2026
0926cce
Add WorkerStopReason enum
binaryfire Mar 27, 2026
55e3599
Align queue event classes with Laravel
binaryfire Mar 27, 2026
2c49053
Rename CoroutineQueue/DeferQueue to BackgroundQueue/DeferredQueue
binaryfire Mar 27, 2026
1c432c7
Use Hypervel namespace in queue payload handler reference
binaryfire Mar 27, 2026
187e921
Align queue serialization with Laravel
binaryfire Mar 27, 2026
c059714
Align Job base class with Laravel
binaryfire Mar 27, 2026
89defc0
Remove Illuminate CallQueuedHandler compatibility shim from JobName
binaryfire Mar 27, 2026
98f0841
Use once() in FakeJob::getJobId() for consistent UUID
binaryfire Mar 27, 2026
2113fa3
Add name property to CallQueuedClosure
binaryfire Mar 27, 2026
8c0bd9a
Add assertFailedWith() to InteractsWithQueue
binaryfire Mar 27, 2026
5f2e571
Align SyncQueue with Laravel
binaryfire Mar 27, 2026
f73373c
Align DatabaseQueue API with Laravel
binaryfire Mar 27, 2026
434b2ec
Refactor FailoverQueue to match Laravel
binaryfire Mar 27, 2026
bcb4789
Align RedisQueue with Laravel
binaryfire Mar 27, 2026
0345f00
Add missing LuaScripts for queue size queries
binaryfire Mar 27, 2026
b49244f
Add ids() method to FailedJobProviderInterface
binaryfire Mar 27, 2026
a08f103
Align Worker with Laravel
binaryfire Mar 27, 2026
bccfe08
Align QueueManager with Laravel
binaryfire Mar 27, 2026
c6c7481
Align QueueServiceProvider with Laravel
binaryfire Mar 27, 2026
fc4aa62
Add --force flag to Listener command builder
binaryfire Mar 27, 2026
b3d20c1
Add FailOnException queue middleware
binaryfire Mar 27, 2026
b28d895
Align existing queue middleware with Laravel
binaryfire Mar 27, 2026
170cd13
Add migration table commands for queue package
binaryfire Mar 27, 2026
dd7564e
Add queue pause and resume commands
binaryfire Mar 27, 2026
58f8975
Align existing queue console commands with Laravel
binaryfire Mar 27, 2026
b70a57d
Add queue Capsule Manager
binaryfire Mar 27, 2026
70199e6
Align QueueFake with Laravel
binaryfire Mar 27, 2026
595bd45
Update Queue facade docblocks for Laravel parity
binaryfire Mar 27, 2026
666c0ed
Align BatchFake with Laravel
binaryfire Mar 27, 2026
a554a06
Align SendQueuedNotifications with Laravel
binaryfire Mar 27, 2026
a46049c
Update queue config for background/deferred driver names
binaryfire Mar 27, 2026
a3b9d96
Split Redis argument transforms from return normalization for pipelin…
binaryfire Mar 27, 2026
002d7fe
Align DatabaseLock with Laravel
binaryfire Mar 27, 2026
2ec6886
Remove old devtool queue migration generators
binaryfire Mar 27, 2026
09f4d9e
Fix job.queued.stub to use correct Queueable import
binaryfire Mar 27, 2026
6f8fbfb
Fix testbench queue database config when sqlite is unavailable
binaryfire Mar 27, 2026
6947ab6
Use Worker restart cache key constant in Horizon
binaryfire Mar 27, 2026
034efc7
Update CacheWatcher for queue cache key rename
binaryfire Mar 27, 2026
361345a
Update imports for queue exception namespace changes
binaryfire Mar 27, 2026
fa036b2
Update queue tests for exception namespace changes
binaryfire Mar 27, 2026
0790d34
Rename driver tests for BackgroundQueue/DeferredQueue
binaryfire Mar 27, 2026
eb232d9
Update QueueWorkerTest for Laravel alignment
binaryfire Mar 27, 2026
51d7fa4
Update QueueSyncQueueTest for Laravel alignment
binaryfire Mar 27, 2026
8d39a5f
Update QueueDatabaseQueueUnitTest for getDatabase rename
binaryfire Mar 27, 2026
079ea2c
Update QueueRedisQueueTest for Laravel alignment
binaryfire Mar 27, 2026
ca55b70
Update RateLimitedTest for middleware alignment
binaryfire Mar 27, 2026
6201685
Add FileFailedJobProvider tests
binaryfire Mar 27, 2026
e29011c
Add FailOnException middleware test
binaryfire Mar 27, 2026
9dde93b
Add QueuePauseResumeTest
binaryfire Mar 27, 2026
aa89e41
Add RetryBatchCommandTest
binaryfire Mar 27, 2026
963384b
Port integration queue tests from Laravel
binaryfire Mar 27, 2026
0137355
Uncomment queue route test in JobSchedulingTest
binaryfire Mar 27, 2026
8cd73d8
Update foundation and horizon tests for queue alignment
binaryfire Mar 27, 2026
22df6b3
Add Redis prepare/call transform tests
binaryfire Mar 27, 2026
5398f5c
Add Redis pipeline integration tests for transformed commands
binaryfire Mar 27, 2026
4001f69
Add types to Manager::__call for Macroable compatibility
binaryfire Mar 28, 2026
da74bb8
Widen Queueable::onGroup and withDeduplicator types for per-channel c…
binaryfire Mar 28, 2026
3a183dd
Add SerializesModels to Notification base class
binaryfire Mar 28, 2026
a4f7fc7
Add Queueable and SerializesModels to notification events, remove cus…
binaryfire Mar 28, 2026
4276e27
Add Macroable and ResolvesQueueRoutes to ChannelManager, refactor cre…
binaryfire Mar 28, 2026
46dcb9f
Align NotificationSender with Laravel — error handling, queue feature…
binaryfire Mar 28, 2026
a69db8b
Add HasCollection to DatabaseNotification
binaryfire Mar 28, 2026
b9f86e4
Add initialDatabaseReadAtValue support to DatabaseChannel
binaryfire Mar 28, 2026
c31911a
Remove extra toMail guard from MailChannel
binaryfire Mar 28, 2026
043e285
Fix MailMessage cc/bcc/replyTo — use array_merge and widen types
binaryfire Mar 28, 2026
81796f4
Use first-class callable in SimpleMessage::formatLine
binaryfire Mar 28, 2026
951fa6a
Port NotificationTableCommand from devtool to notifications package
binaryfire Mar 28, 2026
7736846
Update NotificationServiceProvider — register command, fix singleton,…
binaryfire Mar 28, 2026
2820cd2
Add console and filesystem dependencies to notifications composer.json
binaryfire Mar 28, 2026
ce2dfdd
Align NotificationFake with Laravel — key casting, serializeAndRestor…
binaryfire Mar 28, 2026
72c97ff
Update Notification facade docblocks
binaryfire Mar 28, 2026
505fb31
Port NotificationSendQueuedNotificationTest
binaryfire Mar 28, 2026
82dfa01
Refresh NotificationChannelManagerTest — port missing Laravel tests, …
binaryfire Mar 28, 2026
e61de6e
Refresh NotificationSenderTest — port missing Laravel tests, add queu…
binaryfire Mar 28, 2026
14c429b
Restore missing assertion blocks in NotificationMailMessageTest
binaryfire Mar 28, 2026
162f868
Port NotificationTableCommandTest
binaryfire Mar 28, 2026
ab8151d
Port integration notification tests and fixtures from Laravel
binaryfire Mar 28, 2026
8bc379d
Add --target-path and --target-namespace options to GeneratorCommand
binaryfire Mar 28, 2026
df2c63c
Delete devtool package
binaryfire Mar 28, 2026
1d39b83
Add concurrency package skeleton
binaryfire Mar 28, 2026
267e205
Add Concurrency class with coroutine-backed run() and defer()
binaryfire Mar 28, 2026
a7f7d74
Add Concurrency facade
binaryfire Mar 28, 2026
41d9fb1
Add concurrency integration tests
binaryfire Mar 28, 2026
32c32cb
Update ConcurrencyCheck docblock
binaryfire Mar 28, 2026
adb9acb
Reject subscribe/psubscribe on pooled RedisConnection
binaryfire Mar 28, 2026
0f4be3e
Fix coroutine-unsafe terminating callback in ModelViolationReporter
binaryfire Mar 28, 2026
b803c87
Align container aliases and bindings with Laravel conventions
binaryfire Mar 28, 2026
ae4bc3c
Introduce internal 'db.resolver' binding and align ConnectionResolver…
binaryfire Mar 28, 2026
c3d4cea
Update UnsetContextInTaskWorkerListener to use 'db.resolver'
binaryfire Mar 28, 2026
e41ee64
Update service providers and managers to resolve 'db' instead of Conn…
binaryfire Mar 28, 2026
5583f38
Update testbench to override 'db.resolver' instead of ConnectionResol…
binaryfire Mar 28, 2026
5db58f1
Update tests to use 'db' and 'db.resolver' container keys
binaryfire Mar 28, 2026
f34c93e
Flip 'app' alias to string-canonical, remove dead 'artisan' alias, fi…
binaryfire Mar 28, 2026
983aa8d
Clean up alias table: add migration aliases, rename translation.loade…
binaryfire Mar 28, 2026
952367c
Remove unused Session\Factory contract and store() method
binaryfire Mar 28, 2026
86b8e03
Fix coroutine-unsafe AOP pipeline sharing
binaryfire Mar 28, 2026
05d7f92
Align container resolution with Laravel string binding conventions
binaryfire Mar 29, 2026
052c200
Update .gitignore and phpstan config
binaryfire Mar 29, 2026
9b9607d
Align container resolution with Laravel conventions (batch 2)
binaryfire Mar 29, 2026
9467c52
Align container resolution with Laravel conventions (batch 3)
binaryfire Mar 29, 2026
6915950
Add docblock to SanctumGuard explaining architectural divergence from…
binaryfire Mar 29, 2026
e5deb58
Align Sanctum container resolution with string binding conventions
binaryfire Mar 29, 2026
a0a1f76
Align container resolution in Hypervel-specific infrastructure
binaryfire Mar 29, 2026
39117c1
Add db.connection binding, align JWT facade, fix Horizon phpstan
binaryfire Mar 29, 2026
462e4ad
Move Horizon tests to Integration, fix test suite issues
binaryfire Mar 29, 2026
4913c2d
Change copyFromNonCoroutine to merge instead of replace
binaryfire Mar 29, 2026
62db846
Restore REDIS_DB=8 in redis workflow
binaryfire Mar 29, 2026
25913c6
Install procps in redis workflow for Horizon process tests
binaryfire Mar 29, 2026
9e53a2e
Fix InteractsWithRedis base DB default mismatch
binaryfire Mar 29, 2026
5bf3986
Change Context::copy() to merge instead of replace
binaryfire Mar 29, 2026
3a022a5
Align queue keys and aliases with Laravel for cross-framework interop…
binaryfire Mar 30, 2026
03ea179
Rename Context::copy() to copyFrom(), fix WebSocket context merge, cl…
binaryfire Mar 30, 2026
5faa674
Rename Context to CoroutineContext, ParentContext to ParentCoroutineC…
binaryfire Mar 30, 2026
c6f9c48
Rename Logger coroutine context key to avoid ambiguity
binaryfire Mar 30, 2026
d881f31
Add ReplicableContext interface for coroutine context copying
binaryfire Mar 30, 2026
3beb393
Decouple CoroutineContext from PropagatedContext
binaryfire Mar 30, 2026
3c4cabd
Add ContextLogProcessor contract
binaryfire Mar 30, 2026
b17e742
Move Context feature from context package to log package
binaryfire Mar 30, 2026
04a6587
Add Context facade
binaryfire Mar 30, 2026
74e608b
Register ContextServiceProvider as a base service provider
binaryfire Mar 30, 2026
bcb8d25
Update consumers to use new Context API
binaryfire Mar 30, 2026
036f4eb
Remove RoutingServiceProvider from DefaultProviders
binaryfire Mar 30, 2026
36c1561
Move and update Context tests to tests/Log/
binaryfire Mar 30, 2026
3a3e8fa
Update Context attribute and port ContextualAttributeBindingTest
binaryfire Mar 30, 2026
d710d60
Enable Sentry ContextIntegration and port tests
binaryfire Mar 30, 2026
b14a57f
Remove annotation-based process discovery TODO
binaryfire Mar 30, 2026
cc60faa
Translate Chinese TODO comment to English in SupervisorTest
binaryfire Mar 30, 2026
691e584
Fix IPC pipe listener killing itself on transient socket errors
binaryfire Mar 30, 2026
794c624
Align sentry package with upstream sentry-laravel
binaryfire Mar 30, 2026
08561ca
Make Repository::CONTEXT_KEY public
binaryfire Mar 30, 2026
a1f448e
Add Concurrent::fork() for concurrency-limited context propagation
binaryfire Mar 30, 2026
4cffbfc
Propagate Context to background scheduled tasks
binaryfire Mar 30, 2026
23edc09
Align sentry feature classes with upstream sentry-laravel
binaryfire Mar 30, 2026
a300803
Fix pool transport leak when coroutine dies without close()
binaryfire Mar 30, 2026
08d7762
Remove redundant null coalesce operators on non-nullable properties
binaryfire Mar 30, 2026
a2614b6
Fix Logs/LogChannel handler import and RedisFeature session lookup
binaryfire Mar 30, 2026
7013a99
Defer transaction finish to capture after-response spans
binaryfire Mar 30, 2026
7843853
Rename and restructure sentry tests to match upstream layout
binaryfire Mar 31, 2026
8d9c2f7
Port sentry tests and PublishCommand from upstream
binaryfire Mar 31, 2026
f16ed5c
Fix Waiter to wait for child coroutine defers before returning
binaryfire Mar 31, 2026
e654a7e
Port remaining sentry tests and fix src bugs exposed by them
binaryfire Mar 31, 2026
65ff39d
Port final batch of sentry tests from upstream
binaryfire Mar 31, 2026
ae70f0d
Fix orphaned Swoole server processes leaked by serve smoke test
binaryfire Mar 31, 2026
803ff7c
Remove flaky port check from serve teardown verification
binaryfire Mar 31, 2026
b1987fb
Replace event-based HTTP client instrumentation with AOP Guzzle aspect
binaryfire Mar 31, 2026
01d52fe
Fix flaky Horizon test
binaryfire Mar 31, 2026
bc7db35
Add DeepWiki badges to package READMEs
binaryfire Mar 31, 2026
75c866b
Add tinker package skeleton
binaryfire Mar 31, 2026
0cca384
Add tinker config
binaryfire Mar 31, 2026
8e77901
Add ClassAliasAutoloader
binaryfire Mar 31, 2026
4be62ce
Add TinkerCaster
binaryfire Mar 31, 2026
bfa536e
Add TinkerCommand
binaryfire Mar 31, 2026
9e0cfc3
Add TinkerServiceProvider
binaryfire Mar 31, 2026
b1e3eb5
Register tinker package in root composer.json
binaryfire Mar 31, 2026
f5731f7
Add tinker test fixtures
binaryfire Mar 31, 2026
47dc679
Add ClassAliasAutoloaderTest
binaryfire Mar 31, 2026
c8224f7
Add TinkerCasterTest
binaryfire Mar 31, 2026
8c0b01a
Add TinkerServiceProviderTest
binaryfire Mar 31, 2026
1aa8fab
Add TinkerCommandTest
binaryfire Mar 31, 2026
2dc6185
Fix flaky ClassAliasAutoloaderTest in parallel suite
binaryfire Mar 31, 2026
4ff074d
Add class docblock to DefaultProviders clarifying scope
binaryfire Apr 1, 2026
719fa4e
Add flushState() to FdCollector for test cleanup
binaryfire Apr 2, 2026
497e126
Add flushState() to WebSocket Context for test cleanup
binaryfire Apr 2, 2026
1842b81
Guard against null workerId in Sender::sendPipeMessage
binaryfire Apr 2, 2026
3c2abf1
Add SenderTest for websocket-server package
binaryfire Apr 2, 2026
712d9a5
Remove commented-out WebSocket server example from config
binaryfire Apr 2, 2026
4562df3
Require serverPort property declaration in InteractsWithServer
binaryfire Apr 2, 2026
a4b3964
Add explicit serverPort to EngineIntegrationTestCase
binaryfire Apr 2, 2026
19c6f01
Add Reverb test servers to test-servers.sh
binaryfire Apr 2, 2026
4d486ee
Add port() method to Route for port-scoped routing
binaryfire Apr 2, 2026
b854739
Add PortValidator for port-scoped route matching
binaryfire Apr 2, 2026
53a8b6f
Add port to RouteRegistrar allowed attributes
binaryfire Apr 2, 2026
faeb5cf
Add port merging to RouteGroup (inner overrides outer)
binaryfire Apr 2, 2026
5ebbc1b
Add registration-time collision guard for cross-port routes
binaryfire Apr 2, 2026
cd6eecb
Add port-aware matching and conflict detection to CompiledRouteCollec…
binaryfire Apr 2, 2026
1f31c2f
Use route's configured port in URL generation
binaryfire Apr 2, 2026
e7bd800
Add deprecated forceRootUrl() stub pointing to useOrigin()
binaryfire Apr 2, 2026
a99f91c
Add RoutePortTest unit tests for port-scoped routing
binaryfire Apr 2, 2026
1dbc465
Add RoutePortTest integration tests for port-scoped routing
binaryfire Apr 2, 2026
bf09bc5
Add WebSocket FdCollector and Context flushState to test cleanup
binaryfire Apr 2, 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.
54 changes: 33 additions & 21 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,41 +1,53 @@
# 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
# Run blocking tests
# RUN_BLOCKING_TESTS=false

# 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