winglang / wing

A programming language for the cloud ☁️ A unified programming model, combining infrastructure and runtime code into one language ⚡
https://winglang.io
Other
4.73k stars 185 forks source link

feat(sdk): add `util.spawn()` #5342

Closed garysassano closed 1 month ago

garysassano commented 5 months ago

Closes #5341

Checklist

By submitting this pull request, I confirm that my contribution is made under the terms of the Wing Cloud Contribution License.

monadabot commented 5 months ago

Thanks for opening this pull request! :tada: Please consult the contributing guidelines for details on how to contribute to this project. If you need any assistence, don't hesitate to ping the relevant owner over Slack.

Topic Owner
Wing SDK and utility APIs @chriscbr
Wing Console @ainvoner, @skyrpex, @polamoros
JSON, structs, primitives and collections @hasanaburayyan
Platforms and plugins @hasanaburayyan
Frontend resources (website, react, etc) @tsuf239
Language design @eladb
VSCode extension and language server @markmcculloh
Compiler architecture, inflights, lifting @yoav-steinberg
Wing Testing Framework @tsuf239
Wing CLI @markmcculloh
Build system, dev environment, releases @markmcculloh
Library Ecosystem @chriscbr
Documentation @hasanaburayyan
SDK test suite @tsuf239
Examples @skorfmann
Wing Playground @eladcon
monadabot commented 5 months ago

Console preview environment is available at https://wing-console-pr-5342.fly.dev :rocket:

Last Updated (UTC) 2024-04-24 12:09
monadabot commented 5 months ago

Benchmarks

Comparison to Baseline ⬜🟥🟥⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜ | Benchmark | Before | After | Change | | :-- | --: | --: | --: | | version | 60ms±1.06 | 62ms±0.61 | +2ms (+3.03%)⬜ | | functions_1.test.w -t sim | 394ms±4.54 | 409ms±6.9 | +15ms (+3.74%)🟥 | | functions_1.test.w -t tf-aws | 820ms±10 | 842ms±6.76 | +22ms (+2.66%)🟥 | | jsii_big.test.w -t sim | 2816ms±27.86 | 2806ms±14.88 | -11ms (-0.37%)⬜ | | jsii_big.test.w -t tf-aws | 3023ms±14.89 | 3009ms±9.41 | -14ms (-0.46%)⬜ | | functions_10.test.w -t sim | 492ms±7.96 | 494ms±10.07 | +2ms (+0.41%)⬜ | | functions_10.test.w -t tf-aws | 2028ms±11.38 | 2041ms±14.41 | +13ms (+0.63%)⬜ | | jsii_small.test.w -t sim | 369ms±5.82 | 373ms±3.53 | +4ms (+1.11%)⬜ | | jsii_small.test.w -t tf-aws | 605ms±6.27 | 611ms±3.8 | +6ms (+0.95%)⬜ | | empty.test.w -t sim | 365ms±3.95 | 369ms±3.42 | +4ms (+1.07%)⬜ | | empty.test.w -t tf-aws | 601ms±2.96 | 599ms±4.09 | -2ms (-0.29%)⬜ | | hello_world.test.w -t sim | 405ms±4.82 | 406ms±10.27 | +1ms (+0.32%)⬜ | | hello_world.test.w -t tf-aws | 1526ms±10.07 | 1522ms±8.89 | -4ms (-0.27%)⬜ | ⬜ Within 1.5 standard deviations 🟩 Faster, Above 1.5 standard deviations 🟥 Slower, Above 1.5 standard deviations _Benchmarks may vary outside of normal expectations, especially when running in GitHub Actions CI._
Results |name|mean|min|max|moe|sd| |----|----|----|----|----|----| |version|62ms|60ms|63ms|1ms|1ms| |functions_1.test.w -t sim|409ms|398ms|428ms|7ms|10ms| |functions_1.test.w -t tf-aws|842ms|828ms|854ms|7ms|9ms| |jsii_big.test.w -t sim|2806ms|2764ms|2843ms|15ms|21ms| |jsii_big.test.w -t tf-aws|3009ms|2991ms|3028ms|9ms|13ms| |functions_10.test.w -t sim|494ms|476ms|524ms|10ms|14ms| |functions_10.test.w -t tf-aws|2041ms|2011ms|2077ms|14ms|20ms| |jsii_small.test.w -t sim|373ms|366ms|381ms|4ms|5ms| |jsii_small.test.w -t tf-aws|611ms|603ms|617ms|4ms|5ms| |empty.test.w -t sim|369ms|362ms|379ms|3ms|5ms| |empty.test.w -t tf-aws|599ms|593ms|610ms|4ms|6ms| |hello_world.test.w -t sim|406ms|397ms|446ms|10ms|14ms| |hello_world.test.w -t tf-aws|1522ms|1500ms|1542ms|9ms|12ms|
Last Updated (UTC) 2024-04-24 12:15
github-actions[bot] commented 4 months ago

Hi,

This PR has not seen activity in 20 days. Therefore, we are marking the PR as stale for now. It will be closed after 7 days. If you need help with the PR, do not hesitate to reach out in the winglang community slack at winglang.slack.com. Feel free to re-open this PR when it is still relevant and ready to be worked on again. Thanks!

tsuf239 commented 3 months ago

Hi @garysassano is any help needed here?

garysassano commented 3 months ago

Does it make sense that the default Stdio is INHERIT, even though in Node the default is PIPED? You are effectively unable to run any test when the option is INHERIT since it directly streams everything to the console.

Chriscbr commented 2 months ago

Does it make sense that the default Stdio is INHERIT, even though in Node the default is PIPED? You are effectively unable to run any test when the option is INHERIT since it directly streams everything to the console.

Hey @garysassano, sorry I missed this. Switching the default to PIPED makes sense to me since it's already the default in Node 👍 Let's try it

garysassano commented 2 months ago

@Chriscbr I reverted the change.

monadabot commented 2 months ago

:x: Unstable Self-Mutation :x:

Self-mutation has run twice in a row. There may be a something non-deterministic in the build or test process. Check the last mutation commit (26aecd141167bca86a6074ad9330efe0ebf80f52) for suspicious changes. This is typically caused by:

tsuf239 commented 1 month ago

please fix the test: image

tsuf239 commented 1 month ago

and remove the logs as you told me on slack/ change PID number to a placeholder <PID>: image

mergify[bot] commented 1 month ago

Thanks for contributing, @garysassano! This PR will now be added to the merge queue, or immediately merged if garysassano/util-spawn is up-to-date with main and the queue is empty.

monadabot commented 1 month ago

Congrats! :rocket: This was released in Wing 0.73.2.