Repository navigation
Comparing changes
Open a pull request
base repository: dagger/php-sdk
base: main
head repository: dagger/php-sdk
compare: client-target-loading
- 19 commits
- 38 files changed
- 1 contributor
Commits on Nov 11, 2026
-
Raise a failed call's stderr from the entrypoint
The exec still fails, so the engine does not cache it and a retry runs the function again; an exec with expect: ANY would replay the failure. Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for bdeaf20 - Browse repository at this point
Copy the full SHA bdeaf20View commit details -
chore: depend on sdk-helpers v1.0.9
Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for e8f4abe - Browse repository at this point
Copy the full SHA e8f4abeView commit details -
Require PHP ^8.2 in new modules and run all unit tests
The library requires PHP >=8.2, so a starter declaring ^8.1 promised an unsupported PHP. Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for 9e0dc4a - Browse repository at this point
Copy the full SHA 9e0dc4aView commit details -
The vendored library changes only version.php: upstream sdk/php differs between v1.0.0-beta.25 and v1.0.0-beta.27 only in generated/ and version.php. The e2e pins move, and the later-release refusal now uses v1.0.0-beta.28. The enum collision check still follows the naming before the cut. Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for 0f17129 - Browse repository at this point
Copy the full SHA 0f17129View commit details -
Ask the engine for enum member names
The engine owns enum member names from v1.0.0-beta.26. The generate exec needs DAGGER_CLIENT_VERSION and privileged nesting to ask it. Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for 3818170 - Browse repository at this point
Copy the full SHA 3818170View commit details -
Read the recorded targetVersion in a direct mod
The engine passes scope settings only to generateScope, so a direct mod generated for the default release. WorkspaceSDK.scopeSetting is beta.26+ view only, below php-sdk's beta.17 engineVersion, so mod reads dagger.toml. Only targetVersion records are checked here; the engine validates the rest. Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for 50f620c - Browse repository at this point
Copy the full SHA 50f620cView commit details -
Accept a required Workspace on a check
Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for beda315 - Browse repository at this point
Copy the full SHA beda315View commit details -
Register #[Generate] functions as generators
Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for b5bf209 - Browse repository at this point
Copy the full SHA b5bf209View commit details -
Register #[Up] functions as services
Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for a4a5fb6 - Browse repository at this point
Copy the full SHA a4a5fb6View commit details -
Register #[Agent] functions as agents
Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for 273d351 - Browse repository at this point
Copy the full SHA 273d351View commit details -
Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for e73ed2c - Browse repository at this point
Copy the full SHA e73ed2cView commit details -
Check the SDK library against PSR-12
The vendored tests outside tests/Unit/Module stay unchecked (77 errors); a formatting change can follow. Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for 34b0b17 - Browse repository at this point
Copy the full SHA 34b0b17View commit details -
Analyse the SDK library with PHPStan level 5
src references the generated client, so codegen runs before analysis. PHP's default 128M memory limit crashes PHPStan; the peak is 389 MB. Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for cef5c17 - Browse repository at this point
Copy the full SHA cef5c17View commit details -
Check the SDK library's Composer setup
Dagger\ maps to both src/ and generated/; --strict-ambiguous catches a class defined in both. Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for 009e538 - Browse repository at this point
Copy the full SHA 009e538View commit details -
Keep the runtime when migration drops caching or clients
A version 2 manifest ignores these keys, so migration silently turned caching on or dropped the clients. Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for ad4170c - Browse repository at this point
Copy the full SHA ad4170cView commit details -
Keep the runtime for an engineVersion past the target
Migration would silently drop a manifest engineVersion later than the target, a version the SDK cannot generate for. A module already on the entrypoint is not refused: the engine reads its dang.toml version. Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for cc9083d - Browse repository at this point
Copy the full SHA cc9083dView commit details -
Seed the template into a module without composer.json
The engine's PHP runtime seeds the template into a module without composer.json, so the blocker only kept such modules on the runtime. Generation now seeds it, and new modules take the same path. Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for b12a31e - Browse repository at this point
Copy the full SHA b12a31eView commit details -
Partition codegen by @sourcemap
The engine attributes client types with `@sourceMap(module:)`. Core generation skips them, and each client generates into `Dagger\Clients\<Name>`. A client can only add fields to `Query`. `.client-module` lets regeneration tell the same client from a case variant; the caller may replace it with a list check later. Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for 13e96a9 - Browse repository at this point
Copy the full SHA 13e96a9View commit details -
Serve a client's target once per session
A client's Query fields live in a module the engine has not served yet, so the first query would fail. AbstractClient::serve sends serveModule once per target and per client instance, and does not record a failed serve, so the next call retries. --client now takes --address and --pin, and generates Client as a final class of static methods. Each one serves its target on the shared Dagger::getClientInstance() before it starts the query, so a core Directory passes into a client call. The e2e check calls a client of a local module and of a pinned Git module. The Git daemon helper leaves the Git-source check so both use it. Client types have no load<Type>FromID loaders in the beta.25 view, so only the entry methods serve. Signed-off-by: Yves Brissaud <yves@dagger.io>
Configuration menu - View commit details
-
Copy full SHA for bc27f8f - Browse repository at this point
Copy the full SHA bc27f8fView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff main...client-target-loading