Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3336 commits
Select commit Hold shift + click to select a range
8292c9b
Align MessageSent — add @property docblock, use new Collection
binaryfire Mar 19, 2026
14ba88a
Update MailMailerTest — expect until() for MessageSending
binaryfire Mar 19, 2026
7c06049
Update Markdown — secured encoding, BladeCompiler via view factory, f…
binaryfire Mar 19, 2026
eeac399
Update MailMarkdownTest — mock BladeCompiler and flushFinderCache
binaryfire Mar 19, 2026
4961b0e
Update SendQueuedMailable — add ReadsQueueAttributes, attribute-based…
binaryfire Mar 19, 2026
df510b2
Update MailableQueuedTest — add messageGroup and deduplicator tests
binaryfire Mar 19, 2026
7860443
Update Attachment — add fromUrl, fromUploadedFile, fromCloudStorage
binaryfire Mar 19, 2026
8f4662a
Update AttachableTest — add fromUrl and fromUploadedFile tests
binaryfire Mar 19, 2026
2e62487
Update MailManager — add build, createResendTransport, align SES cred…
binaryfire Mar 19, 2026
9c8205e
Add ResendTransport and tests
binaryfire Mar 19, 2026
b2639b9
Update MailManagerTest — add build, autoTls, scheme data provider tests
binaryfire Mar 19, 2026
2a6f6d2
Port MailRoundRobinTransportTest from Laravel
binaryfire Mar 19, 2026
46d10b5
Update SesV2Transport — add listManagementOptions
binaryfire Mar 19, 2026
8712b7c
Update MailSesV2TransportTest — add list management assertion
binaryfire Mar 19, 2026
42e611e
Port integration mail test fixtures
binaryfire Mar 19, 2026
6e56b52
Port MailableTestCase and MarkdownParserTest
binaryfire Mar 19, 2026
3472bef
Port MailableWithSecuredEncodingTest and MailableWithoutSecuredEncodi…
binaryfire Mar 19, 2026
96a4e2a
Port SendingMarkdownMailTest
binaryfire Mar 19, 2026
db69ff8
Port SendingMailWithLocaleTest and RenderingMailWithLocaleTest
binaryfire Mar 19, 2026
c87e7d8
Port SendingQueuedMailTest
binaryfire Mar 19, 2026
b71c3a0
Port SentMessageMailTest
binaryfire Mar 19, 2026
41bc28e
Port AttachingFromStorageTest — add fromCloudStorage test
binaryfire Mar 19, 2026
09d5fa8
Add route() method to QueueManager
binaryfire Mar 19, 2026
ddd97fa
Add getCachedPackagesPath and getCachedServicesPath to Application co…
binaryfire Mar 20, 2026
b359f75
Fix setArtisan to accept nullable Application
binaryfire Mar 20, 2026
dbd1258
Port PackageManifest from Laravel with version/hasPackage/satisfies e…
binaryfire Mar 20, 2026
122e598
Wire PackageManifest, add getCachedPackagesPath, strict in_array fix
binaryfire Mar 20, 2026
333b77d
Slim down RegisterProviders to match Laravel, discovery moved to Pack…
binaryfire Mar 20, 2026
9ca639c
Use PackageManifest::aliases() instead of Composer for alias discovery
binaryfire Mar 20, 2026
42964a2
Migrate Composer to instance-based CLI runner matching Laravel
binaryfire Mar 20, 2026
1ef91ae
Add optimize/reload command registration to ServiceProvider
binaryfire Mar 20, 2026
010ee9c
Register Composer singleton and new commands in FoundationServiceProv…
binaryfire Mar 20, 2026
eae93e0
Port OptimizeCommand from Laravel
binaryfire Mar 20, 2026
fce7f7c
Port OptimizeClearCommand from Laravel
binaryfire Mar 20, 2026
7bbc243
Port ReloadCommand from Laravel with Hypervel-specific server:reload
binaryfire Mar 20, 2026
8484acc
Port ClearCompiledCommand from Laravel
binaryfire Mar 20, 2026
eb5afcb
Port PackageDiscoverCommand from Laravel
binaryfire Mar 20, 2026
4d0be21
Add CanResetPassword and MustVerifyEmail traits to Foundation User
binaryfire Mar 20, 2026
4b18c00
Port EmailVerificationRequest from Laravel
binaryfire Mar 20, 2026
86b9b0f
Add configureEmailVerification to EventServiceProvider, strict in_array
binaryfire Mar 20, 2026
25305a1
Fix session context leak — clear stale parent context keys for sessio…
binaryfire Mar 20, 2026
92691f5
Add composer/semver to suggest for PackageManifest::satisfies()
binaryfire Mar 20, 2026
ca32911
Use PackageManifest::version() instead of Composer::getVersions()
binaryfire Mar 20, 2026
4a9a6c8
Add CONTEXT_KEY to SessionStore::flushState()
binaryfire Mar 20, 2026
58b484d
Add PackageManifest::flushState() to AfterEachTestSubscriber
binaryfire Mar 20, 2026
026db23
Update existing tests for PackageManifest refactor and configureEmail…
binaryfire Mar 20, 2026
d54f3c8
Rename ComposerTest to SupportComposerTest and rewrite for instance-b…
binaryfire Mar 20, 2026
e2cd7a7
Add PackageManifest tests
binaryfire Mar 20, 2026
c5a21e6
Add PackageManifest test fixtures
binaryfire Mar 20, 2026
6233a9a
Add EmailVerificationRequest tests
binaryfire Mar 20, 2026
4f745ee
Add OptimizeCommand tests
binaryfire Mar 20, 2026
67b58eb
Add OptimizeClearCommand tests
binaryfire Mar 20, 2026
6cc1ee1
Add ReloadCommand tests
binaryfire Mar 20, 2026
95c7314
Add ClearCompiledCommand tests
binaryfire Mar 20, 2026
f669b68
Remove obsolete tests replaced by PackageManifest refactor
binaryfire Mar 20, 2026
eb40966
Widen LoadEnvironmentVariables::bootstrap() to accept Application con…
binaryfire Mar 20, 2026
6b26da9
Allow nullable Artisan instance in Console Kernel
binaryfire Mar 20, 2026
7ec6a71
Add @property and @method annotations to MustVerifyEmail trait
binaryfire Mar 20, 2026
642e9f5
Add @property and @method annotations to CanResetPassword trait
binaryfire Mar 20, 2026
de8ed3a
Add @property annotation for read_at on DatabaseNotification
binaryfire Mar 20, 2026
57197b9
Fix HasDatabaseNotifications return types to MorphMany matching Laravel
binaryfire Mar 20, 2026
d7fd64d
Add @property annotation for email on RoutesNotifications trait
binaryfire Mar 20, 2026
c95ecb3
Exclude Pest autoload from phpstan, remove DatabaseNotification exclu…
binaryfire Mar 20, 2026
57c76b7
Fix unreadNotifications type assertion to MorphMany
binaryfire Mar 20, 2026
f45de96
Port TestingFeature dispatcher from Orchestra
binaryfire Mar 20, 2026
b248437
Extract InteractsWithPHPUnit trait from InteractsWithTestCase
binaryfire Mar 20, 2026
b7edd74
Slim down InteractsWithTestCase after InteractsWithPHPUnit extraction
binaryfire Mar 20, 2026
88205a2
Port Pest support from Orchestra
binaryfire Mar 20, 2026
7e5e8e0
Add InteractsWithPest and InteractsWithPHPUnit to InteractsWithWorkbench
binaryfire Mar 20, 2026
de50d30
Add InteractsWithPHPUnit to Testing trait
binaryfire Mar 20, 2026
3cf9cfb
Use TestingFeature dispatcher and Pest hooks in HandlesDatabases
binaryfire Mar 20, 2026
ff7a63e
Use TestingFeature dispatcher in HandlesRoutes, add defineStashRoutes
binaryfire Mar 20, 2026
c33da45
Use TestingFeature dispatcher in CreatesApplication
binaryfire Mar 20, 2026
01f8d41
Port Foundation Console Kernel base class, align Console Kernel
binaryfire Mar 20, 2026
1115d0f
Align TestCase class hooks with Orchestra
binaryfire Mar 20, 2026
d0ad088
Add Model::automaticallyEagerLoadRelationships reset to flushState
binaryfire Mar 20, 2026
b10eb9c
Remove redundant null coalesce on typed config offset, keep is_a boun…
binaryfire Mar 20, 2026
bce373f
Widen testbench LoadEnvironmentVariables bootstrap parameter to contract
binaryfire Mar 20, 2026
491f780
Restore boundary validation filter in LoadMigrationsFromArray
binaryfire Mar 20, 2026
1e6939a
Add phpstan ignores for external data validation guards in Config
binaryfire Mar 20, 2026
ecec9c5
Remove redundant !== false after !empty() in HandlesDatabaseConnections
binaryfire Mar 20, 2026
52f63b6
Remove redundant null coalesces on typed array offsets in Workbench
binaryfire Mar 20, 2026
24effb3
Remove redundant null coalesces and type checks in Workbench actions
binaryfire Mar 20, 2026
aaec45f
Add phpstan ignore for Mockery getContainer nullable check
binaryfire Mar 20, 2026
014043e
Fix Route macro phpstan ignore for runtime $this rebinding
binaryfire Mar 20, 2026
616d704
Add publishedFilePath helper for SplFileInfo normalization
binaryfire Mar 20, 2026
59926fb
Update testbench process handling
binaryfire Mar 20, 2026
8592ab4
Update and add testbench attributes
binaryfire Mar 20, 2026
28525ec
Update testbench bootstrapper
binaryfire Mar 20, 2026
02ffbfa
Update testbench helper functions
binaryfire Mar 20, 2026
b10dfd4
Update testbench configuration
binaryfire Mar 20, 2026
914b93e
Update testbench CLI binary
binaryfire Mar 20, 2026
b6dfa09
Update testbench composer configuration
binaryfire Mar 20, 2026
12ac29c
Remove duplicate migration files (moved to hypervel/migrations)
binaryfire Mar 20, 2026
5bfc455
Add testbench skeleton migrations directory
binaryfire Mar 20, 2026
c31ad72
Update testbench workbench skeleton
binaryfire Mar 20, 2026
11372d0
Use Foundation kernel directly for reportException/renderException tests
binaryfire Mar 20, 2026
958a0b0
Use Foundation TestCase for trait boot tests
binaryfire Mar 20, 2026
4df6e22
Add testbench bootstrap classes
binaryfire Mar 20, 2026
739385d
Add remaining testbench concerns
binaryfire Mar 20, 2026
d5332f1
Add testbench contracts, database, exceptions, factories, HTTP kernel…
binaryfire Mar 20, 2026
0ec0f46
Add testbench foundation support classes
binaryfire Mar 20, 2026
c11a595
Replace ScheduleStopCommand with ScheduleInterruptCommand, update con…
binaryfire Mar 20, 2026
05642b2
Add InvokeSerializedClosureCommand
binaryfire Mar 20, 2026
880e86f
Update PreventRequestForgery middleware
binaryfire Mar 20, 2026
e9738a7
Add EncodedHtmlString support class
binaryfire Mar 20, 2026
f78f755
Update HtmlString
binaryfire Mar 20, 2026
a6303a0
Update mail contract, facade, and fake
binaryfire Mar 20, 2026
4e083b1
Update view contract and AnonymousComponent
binaryfire Mar 20, 2026
0ca14b5
Update Queueable trait
binaryfire Mar 20, 2026
e305c69
Update DatabaseManager
binaryfire Mar 20, 2026
2fec3a1
Update Migrator
binaryfire Mar 20, 2026
c6c7201
Update TestResponse
binaryfire Mar 20, 2026
333449b
Update NotificationServiceProvider
binaryfire Mar 20, 2026
9946d4d
Update horizon service provider
binaryfire Mar 20, 2026
4da2b0a
Update jwt service provider
binaryfire Mar 20, 2026
08b0439
Update permission service provider
binaryfire Mar 20, 2026
9d304e0
Update sanctum service provider
binaryfire Mar 20, 2026
a5007dd
Update scout service provider
binaryfire Mar 20, 2026
1fc86bf
Update sentry service provider
binaryfire Mar 20, 2026
a3d3271
Update telescope service provider
binaryfire Mar 20, 2026
d652017
Update watcher service provider
binaryfire Mar 20, 2026
58ffe71
Update ConsoleServiceProviderTest for ScheduleInterruptCommand
binaryfire Mar 20, 2026
f6be893
Add InvokeSerializedClosureCommand tests
binaryfire Mar 20, 2026
6cc73e2
Update AttributesTest
binaryfire Mar 20, 2026
323f186
Update MakesHttpRequestsTest
binaryfire Mar 20, 2026
0993327
Update SubMinuteSchedulingTest
binaryfire Mar 20, 2026
448f181
Update integration database tests
binaryfire Mar 20, 2026
3229f89
Add HTTP middleware integration tests
binaryfire Mar 20, 2026
070950d
Add view integration test templates
binaryfire Mar 20, 2026
e0ec735
Update QueryWatcherTest
binaryfire Mar 20, 2026
8b28148
Update TestCaseTest
binaryfire Mar 20, 2026
3e4c090
Update porting guide
binaryfire Mar 20, 2026
1f84776
Add testbench InteractsWithMigrations concern
binaryfire Mar 20, 2026
015fb8f
Update composer.json with workbench autoload, testbench provider, and…
binaryfire Mar 20, 2026
6a6844c
Fix AboutCommandTest to use testbench skeleton for compiled views
binaryfire Mar 20, 2026
5db2b4b
Remove trans() and transChoice() from Translator contract
binaryfire Mar 20, 2026
f9b1ff5
Remove trans()/transChoice() from Translator, fix localeArray dedupli…
binaryfire Mar 20, 2026
7069abc
Align translation helper functions with Laravel
binaryfire Mar 20, 2026
6b1d709
Port missing translator tests from Laravel
binaryfire Mar 20, 2026
714d5b5
Port integration translation tests from Laravel
binaryfire Mar 20, 2026
fbee90a
Rename FileLoaderTest to TranslationFileLoaderTest to match Laravel
binaryfire Mar 20, 2026
d5d4e5d
Rename MessageSelectorTest to TranslationMessageSelectorTest to match…
binaryfire Mar 20, 2026
6a65c6f
Rename TranslatorTest to TranslationTranslatorTest, extract enum fixt…
binaryfire Mar 20, 2026
0264d4a
Rename testbench Foundation stubs dir to Fixtures for consistency
binaryfire Mar 20, 2026
92da24f
Add DeferrableProvider contract for deferred service providers
binaryfire Mar 20, 2026
2ed0d42
Add deferred provider methods to Application contract
binaryfire Mar 20, 2026
8a868f3
Add deferred provider support and missing methods to ServiceProvider
binaryfire Mar 20, 2026
b3344bf
Port AggregateServiceProvider from Laravel
binaryfire Mar 20, 2026
a52b102
Port ProviderRepository from Laravel
binaryfire Mar 20, 2026
5c1e026
Add deferred service provider infrastructure to Application
binaryfire Mar 20, 2026
c8ef7e2
Port ProviderRepository tests from Laravel
binaryfire Mar 20, 2026
1d6703a
Add deferred provider infrastructure tests
binaryfire Mar 20, 2026
f1bb8e7
Add tests for translations, removeProvider, and config cache behavior
binaryfire Mar 20, 2026
c3b6ff4
Make default database connection nullable across resolver API
binaryfire Mar 20, 2026
6742ff7
Add Env::flushState to AfterEachTestSubscriber
binaryfire Mar 20, 2026
609430d
Update provider bootstrap tests to use Testbench TestCase
binaryfire Mar 20, 2026
f058983
Add test for deferred provider not loaded when never resolved
binaryfire Mar 20, 2026
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
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