Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: dagger/php-sdk
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: dagger/php-sdk
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: client-target-loading
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 19 commits
  • 38 files changed
  • 1 contributor

Commits on Nov 11, 2026

  1. 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>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    bdeaf20 View commit details
    Browse the repository at this point in the history
  2. chore: depend on sdk-helpers v1.0.9

    Signed-off-by: Yves Brissaud <yves@dagger.io>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    e8f4abe View commit details
    Browse the repository at this point in the history
  3. 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>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    9e0dc4a View commit details
    Browse the repository at this point in the history
  4. Target v1.0.0-beta.27

    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>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    0f17129 View commit details
    Browse the repository at this point in the history
  5. 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>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    3818170 View commit details
    Browse the repository at this point in the history
  6. 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>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    50f620c View commit details
    Browse the repository at this point in the history
  7. Accept a required Workspace on a check

    Signed-off-by: Yves Brissaud <yves@dagger.io>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    beda315 View commit details
    Browse the repository at this point in the history
  8. Register #[Generate] functions as generators

    Signed-off-by: Yves Brissaud <yves@dagger.io>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    b5bf209 View commit details
    Browse the repository at this point in the history
  9. Register #[Up] functions as services

    Signed-off-by: Yves Brissaud <yves@dagger.io>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    a4a5fb6 View commit details
    Browse the repository at this point in the history
  10. Register #[Agent] functions as agents

    Signed-off-by: Yves Brissaud <yves@dagger.io>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    273d351 View commit details
    Browse the repository at this point in the history
  11. Document the function roles

    Signed-off-by: Yves Brissaud <yves@dagger.io>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    e73ed2c View commit details
    Browse the repository at this point in the history
  12. 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>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    34b0b17 View commit details
    Browse the repository at this point in the history
  13. 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>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    cef5c17 View commit details
    Browse the repository at this point in the history
  14. 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>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    009e538 View commit details
    Browse the repository at this point in the history
  15. 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>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    ad4170c View commit details
    Browse the repository at this point in the history
  16. 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>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    cc9083d View commit details
    Browse the repository at this point in the history
  17. 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>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    b12a31e View commit details
    Browse the repository at this point in the history
  18. 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>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    13e96a9 View commit details
    Browse the repository at this point in the history
  19. 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>
    eunomie committed Nov 11, 2026
    Configuration menu
    Copy the full SHA
    bc27f8f View commit details
    Browse the repository at this point in the history
Loading