Hi folks :wave: I have some feedback around being...
# contribute
d
Hi folks šŸ‘‹ I have some feedback around being able to efficiently contribute to Pulumi. One thing I've noticed is that SDKs are generated on a contributor machine using host-level commands vs using CI/CD or a docker build/run. This means that for contributing a simple fix, I need to install multiple programming languages on my machine which is relatively easy using brew but it has some limitations on Linux (casks don't work). This method also means that various contributors may use different versions of a programming language to generate the SDKs which is not ideal. Is there interest for an external contribution to the main pulumi repo to use something like devbox vs manually setting up everything using brew? SDKs could also be built via docker but that would require more rework on make targets than using devbox which should be a drop-in replacement for the current way of doing things. if there is interest for this to be contributed externally, I'd be happy to give it a try and open a PR to collect feedback. Thanks!
w
Sounds like a good idea to me. Iā€™m not much of a contributor but I did find the setup requires quite a lot of stuff and not all of it is necessary, especially when only building a provider. Another option is to use nix.
d
Devbox is actually a wrapper around nix to make it more user friendly.
w
Oh
l
@dry-room-51372 my colleague @busy-journalist-6936 built this: https://github.com/pulumi/devcontainer
b
LMK if you have questions on how to use the devcontainer locally or remotely in Codespaces or other hosted dev environment
d
It could be cool to adapt the contribute guide to contain this as an alternative to using brew. Are there docs anywhere I can start from to set this up?
b
Either just hit the launch in Codespaces option or clone and open in VSCode with the container plug-in
d
Is there any interest in making something non-vscode (or IDE) dependant in order to support old grumpy vim users like me šŸ˜‚? It could be useful to also update the contribute guide with this info, it only talks about gitpod or manual brew install.
b
Good ideas. I tried doing a nix flake first but that's out. There is some work being done to decouple devcontainers from VSCode dependency. I use my personal Konductor container as a headless devcontainer. It serves sshd and ttyd for access and I riced my vim in it but could still improve.
If you want to start a PR enhancement I would pair with you to get updates written
d
Where do we want to head? Using devbox for a dockerless approach? Or trying to adapt devcontainers without vscode?
b
Devbox is kinda nix based under the hood isn't it? Or am I off
d
It is nix based under the hood, not sure what pain you hit with nix previously. Using nix directly can certainly be quite challenging (never done it, just heard stories) but devbox is quite easy to get in place and maintain. But that's why I reached out, I want to make sure the maintainers are onboard with such a choice and that this can become the suggested approach for contributors to setup the necessary tooling. Btw, I don't own shares of devbox or have special interest in it šŸ˜‚ I've just been using it successfully at work and thought it could be a good fit here
b
I'm onboard with seeing how comfortable we can make the devbox approach. I remember there being some packaging lag and completeness that needs effort to improve and then Python packages require some changes to support the workflow iirc on straight nix, but if devbox smooths that over maybe it's worth trying
d
I can try to get parity for what I've been doing it in my pulumi dev environment and share this and we can take it as a start. Stay tuned ...
l
On Linux I use the following
shell.nix
with
direnv
(
use nix
and nothing else in
.envrc
); you might find it helpful:
Copy code
{
  pkgs ? import <nixpkgs> {}
}:
  pkgs.mkShell {
    LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [
      <http://pkgs.stdenv.cc.cc|pkgs.stdenv.cc.cc>
    ];

    LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";

    buildInputs = [
      pkgs.delve
      pkgs.dotnet-sdk
      pkgs.git
      pkgs.glibcLocales
      pkgs.go_1_22
      pkgs.gofumpt
      pkgs.golangci-lint
      pkgs.gopls
      pkgs.jq
      pkgs.nix
      pkgs.nodePackages.pnpm
      pkgs.nodePackages.typescript-language-server
      pkgs.nodePackages.yarn
      pkgs.nodejs-18_x
      pkgs.pulumictl
      pkgs.python3
    ];

    shellHook = ''
      export PULUMI_ROOT=$(pwd)/.root
      export PATH=$PULUMI_ROOT/bin:$PATH
    '';
  }
d
Thanks for sharing this, that'll definitely help!
I've progressed quite a bit but it looks like some of the quick tests are failing/hanging during
make
on the main pulumi repo against master (commit fa52908d953684d0427ace6345a9bf8a076537f7). It looks like it's the
after hooks
series of test and they're all taking a lot of time and outputing lines in red (which I think means failures) and I can never actually get to a complete run since it hangs for hours
Copy code
after hooks
    1) invoke

  findWorkspaceRoot
    āœ” finds the root of a workspace
    āœ” returns null if we are not in a workspace
    āœ” finds the root of a workspace when using yarn's extended declaration
    āœ” finds the root of a workspace when in a nested directory
    āœ” finds the root of a workspace passing a file as argument

  rpc
    2) run test: empty (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/000.empty,main=undefined)
    3) run test: empty.pwd (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/000.empty,main=./)
    4) run test: empty.pwd.index.js (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/000.empty,main=./index.js)
    5) run test: one_resource (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/001.one_resource,main=undefined)
    6) run test: ten_resources (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/002.ten_resources,main=undefined)
    7) run test: one_complex_resource (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/003.one_complex_resource,main=undefined)
    8) run test: ten_complex_resources (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/004.ten_complex_resources,main=undefined)
    9) run test: resource_thens (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/005.resource_thens,main=undefined)
    10) run test: input_output (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/006.asset,main=undefined)
    11) run test: promises_io (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/007.promises_io,main=undefined)
    12) run test: ten_depends_on_resources (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/008.ten_depends_on_resources,main=undefined)
    13) run test: invoke (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/009.invoke,main=undefined)
    14) run test: runtimeSettings (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/010.runtime_settings,main=undefined)
    15) run test: unhandled_error (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/011.unhandled_error,main=undefined)
    16) run test: assets_archive (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/012.assets_archive,main=undefined)
    17) run test: unhandled_promise_rejection (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/013.unhandled_promise_rejection,main=undefined)
    18) run test: read_resource (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/014.read_resource,main=undefined)
    19) run test: runtime_sxs (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/015.runtime_sxs,main=undefined)
    20) run test: promise_leak (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/016.promise_leak,main=undefined)
    21) run test: parent_defaults (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/017.parent_defaults,main=undefined)
    22) run test: logging (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/018.logging,main=undefined)
    23) run test: stack_exports (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/019.stack_exports,main=undefined)
    24) run test: root_resource (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/001.one_resource,main=undefined)
    25) run test: backcompat_root_resource (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/001.one_resource,main=undefined)
    26) run test: property_dependencies (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/020.property_dependencies,main=undefined)
    27) run test: parent_child_dependencies (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/021.parent_child_dependencies,main=./index.js)
    28) run test: parent_child_dependencies_2 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/022.parent_child_dependencies_2,main=./index.js)
    29) run test: parent_child_dependencies_3 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/023.parent_child_dependencies_3,main=./index.js)
    30) run test: parent_child_dependencies_4 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/024.parent_child_dependencies_4,main=./index.js)
    31) run test: parent_child_dependencies_5 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/025.parent_child_dependencies_5,main=./index.js)
    32) run test: parent_child_dependencies_6 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/026.parent_child_dependencies_6,main=./index.js)
    33) run test: parent_child_dependencies_7 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/027.parent_child_dependencies_7,main=./index.js)
    34) run test: parent_child_dependencies_8 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/028.parent_child_dependencies_8,main=./index.js)
    35) run test: parent_child_dependencies_9 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/029.parent_child_dependencies_9,main=./index.js)
    36) run test: run_error (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/040.run_error,main=undefined)
    37) run test: component_opt_single_provider (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/041.component_opt_single_provider,main=undefined)
    38) run test: component_opt_providers_array (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/042.component_opt_providers_array,main=undefined)
    39) run test: depends_on_non_resource (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/043.depends_on_non_resource,main=undefined)
    40) run test: ignore_changes (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/045.ignore_changes,main=undefined)
    41) run test: versions (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/044.versions,main=undefined)
    42) run test: import_resource (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/030.import_resource,main=undefined)
    43) run test: recursive_stack_exports (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/046.recursive_stack_exports,main=undefined)
    44) run test: exported_function (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/047.exported_function,main=undefined)
    45) run test: exported_promise_function (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/048.exported_promise_function,main=undefined)
    46) run test: exported_async_function (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/049.exported_async_function,main=undefined)
    47) run test: resource_creation_in_function (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/050.resource_creation_in_function,main=undefined)
    48) run test: resource_creation_in_function_with_result (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/051.resource_creation_in_function_with_result,main=undefined)
    49) run test: resource_creation_in_async_function_with_result (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/052.resource_creation_in_async_function_with_result,main=undefined)
    50) run test: provider_invokes (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/060.provider_invokes,main=undefined)
    51) run test: provider_in_parent_invokes (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/061.provider_in_parent_invokes,main=undefined)
    52) run test: providerref_invokes (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/062.providerref_invokes,main=undefined)
    53) run test: providerref_in_parent_invokes (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/063.providerref_in_parent_invokes,main=undefined)
    54) run test: async_components (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/064.async_components,main=undefined)
    55) run test: large_resource (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/065.large_resource,main=undefined)
    56) run test: replace_on_changes (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/066.replace_on_changes,main=undefined)
    57) run test: native_es_module (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/067.native_es_module,main=./index.js)
    58) run test: remote_component_providers (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/068.remote_component_providers,main=undefined)
    59) run test: ambiguous_entrypoints (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/069.ambiguous_entrypoints,main=undefined)
I can provide the full output if necessary, pointers are welcome
It looks like it's unable to spawn a process from the looks of it but I'm unsure about the why:
Copy code
62) rpc
       run test: large_alias_lineage_chains (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/072.large_alias_lineage_chains,main=undefined):
     Uncaught Error: spawn pulumi-language-nodejs ENOENT
      at Process.ChildProcess._handle.onexit (node:internal/child_process:286:19)
      at onErrorNT (node:internal/child_process:484:16)
      at processTicksAndRejections (node:internal/process/task_queues:82:21)
l
It might be that the Makefile has not captured all the dependencies, or for whatever reason the language host hasn't built. Try
make -C sdk/nodejs build install
from the root and hopefully that sorts it (it will put binaries in
.root/bin
, which if you used the
shell.nix
will be on your path)
d
Thanks for this, it looks slightly better now but all the tests seem to be hanging with one broken pipe in the middle:
Copy code
after hooks
    1) invoke

  findWorkspaceRoot
    āœ” finds the root of a workspace
    āœ” returns null if we are not in a workspace
    āœ” finds the root of a workspace when using yarn's extended declaration
    āœ” finds the root of a workspace when in a nested directory
    āœ” finds the root of a workspace passing a file as argument

  rpc
    2) run test: empty (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/000.empty,main=undefined)
    3) run test: empty.pwd (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/000.empty,main=./)
    4) run test: empty.pwd.index.js (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/000.empty,main=./index.js)
    5) run test: one_resource (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/001.one_resource,main=undefined)
    6) run test: ten_resources (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/002.ten_resources,main=undefined)
    7) run test: one_complex_resource (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/003.one_complex_resource,main=undefined)
    8) run test: ten_complex_resources (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/004.ten_complex_resources,main=undefined)
    9) run test: resource_thens (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/005.resource_thens,main=undefined)
    10) run test: input_output (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/006.asset,main=undefined)
    11) run test: promises_io (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/007.promises_io,main=undefined)
    12) run test: ten_depends_on_resources (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/008.ten_depends_on_resources,main=undefined)
    13) run test: invoke (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/009.invoke,main=undefined)
    14) run test: runtimeSettings (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/010.runtime_settings,main=undefined)
    15) run test: unhandled_error (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/011.unhandled_error,main=undefined)
    16) run test: assets_archive (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/012.assets_archive,main=undefined)
    17) run test: unhandled_promise_rejection (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/013.unhandled_promise_rejection,main=undefined)
    18) run test: read_resource (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/014.read_resource,main=undefined)
    19) run test: runtime_sxs (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/015.runtime_sxs,main=undefined)
    20) run test: promise_leak (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/016.promise_leak,main=undefined)
    21) run test: parent_defaults (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/017.parent_defaults,main=undefined)
    22) run test: logging (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/018.logging,main=undefined)
    23) run test: stack_exports (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/019.stack_exports,main=undefined)
    24) run test: root_resource (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/001.one_resource,main=undefined)
langhost.stderr: failed to deliver log message.
error: Error: Channel has been shut down
original message: Running program '/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/001.one_resource' failed with an unhandled exception:
Error: 14 UNAVAILABLE: write tcp 127.0.0.1:53398->127.0.0.1:44395: write: broken pipe
    at callErrorFromStatus (/home/julien/src/pulumi/sdk/nodejs/bin/node_modules/@grpc/grpc-js/src/call.ts:82:17)
    at Object.onReceiveStatus (/home/julien/src/pulumi/sdk/nodejs/bin/node_modules/@grpc/grpc-js/src/client.ts:360:55)
    at Object.onReceiveStatus (/home/julien/src/pulumi/sdk/nodejs/bin/node_modules/@grpc/grpc-js/src/client-interceptors.ts:458:34)
    at Object.onReceiveStatus (/home/julien/src/pulumi/sdk/nodejs/bin/node_modules/@grpc/grpc-js/src/client-interceptors.ts:419:48)
    at /home/julien/src/pulumi/sdk/nodejs/bin/node_modules/@grpc/grpc-js/src/resolving-call.ts:132:24
    at processTicksAndRejections (node:internal/process/task_queues:77:11)
for call at
    at ServiceClientImpl.makeUnaryRequest (/home/julien/src/pulumi/sdk/nodejs/bin/node_modules/@grpc/grpc-js/src/client.ts:325:42)
    at ServiceClientImpl.supportsFeature (/home/julien/src/pulumi/sdk/nodejs/bin/node_modules/@grpc/grpc-js/src/make-client.ts:189:15)
    at result (/home/julien/src/pulumi/sdk/nodejs/bin/runtime/settings.js:30:441)
    at new Promise (<anonymous>)
    at /home/julien/src/pulumi/sdk/nodejs/bin/runtime/settings.js:30:346
    at Generator.next (<anonymous>)
    at /home/julien/src/pulumi/sdk/nodejs/bin/runtime/settings.js:15:1415
    at new Promise (<anonymous>)
    at __awaiter (/home/julien/src/pulumi/sdk/nodejs/bin/runtime/settings.js:15:586)
    at monitorSupportsFeature (/home/julien/src/pulumi/sdk/nodejs/bin/runtime/settings.js:30:116) {
  code: 14,
  details: 'write tcp 127.0.0.1:53398->127.0.0.1:44395: write: broken pipe',
  metadata: Metadata {
    internalRepr: Map(1) { 'content-type' => [Array] },
    options: {}
  }
}
 message severity: error
    25) run test: backcompat_root_resource (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/001.one_resource,main=undefined)
    26) run test: property_dependencies (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/020.property_dependencies,main=undefined)
    27) run test: parent_child_dependencies (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/021.parent_child_dependencies,main=./index.js)
    28) run test: parent_child_dependencies_2 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/022.parent_child_dependencies_2,main=./index.js)
    29) run test: parent_child_dependencies_3 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/023.parent_child_dependencies_3,main=./index.js)
    30) run test: parent_child_dependencies_4 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/024.parent_child_dependencies_4,main=./index.js)
    31) run test: parent_child_dependencies_5 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/025.parent_child_dependencies_5,main=./index.js)
    32) run test: parent_child_dependencies_6 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/026.parent_child_dependencies_6,main=./index.js)
    33) run test: parent_child_dependencies_7 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/027.parent_child_dependencies_7,main=./index.js)
    34) run test: parent_child_dependencies_8 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/028.parent_child_dependencies_8,main=./index.js)
    35) run test: parent_child_dependencies_9 (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/029.parent_child_dependencies_9,main=./index.js)
    36) run test: run_error (pwd=/home/julien/src/pulumi/sdk/nodejs/bin/tests/runtime/langhost/cases/040.run_error,main=undefined)
I assume some process communication is expected to be happening but it just not working at all