-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Shell commands and function callbacks #1193
Conversation
Work from @siramok. * Initial callback and shell command implementations * Initial work to combine commands and callbacks * Move callback registration and execution into Command * Catch the case where neither action is defined * Allow defining multiline shell commands and callbacks * Minor formatting tweaks * Initial implementation of triggers with callbacks * Improved organization, more error catching * Make sure that triggers either have a condition or callback * Make void callbacks take conduit node parameters * Initial attempt at exposing callbacks through ascent-jupyter-bridge * Let void callbacks return arbitrary data via conduit nodes * Disallow anonymous callbacks, add some tests * Add tests for shell commands and callbacks * Refactor callback API into the main API, adjusts tests to reflect the change * Minor cleanups that I missed * Fix minor bug with the trigger + callback test
@siramok I fixed the third party lib build issue (we needed a new zlib download url) I'll get to work on other tweaks soon. |
Awesome. I saw your feedback on the previous PR and thought that the suggestions were great. Let me know if you'd like me to take on any of those tasks. |
Just noticed that the command tests are failing on MSVC: my guess is that it's due to |
Upon investigating, I realized that the tests were failing due to several things:
|
@siramok thanks for the updates, I should have time next week to review further and get these features in! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, made a few minor suggestions (which I can take care of if you like)
One Q:
I don't think we have the logic to trigger based on a shell command result yet?
If so no worries, we can tackle in a follow on PR -- just want to make sure I am reading the current code correctly.
Thanks for your effort on this, these are going to be great features!
@cyrush Correct, it's not possible to use shell commands as trigger conditions right now. Since your suggestions were pretty easy, I just went ahead and implemented them. |
Awesome, thanks for the quick turn around! |
CI Failure was a github fetch fluke, unrelated to changes. |
Thanks again for this! |
Thanks! |
Work from @siramok.
Initial callback and shell command implementations
Initial work to combine commands and callbacks
Move callback registration and execution into Command
Catch the case where neither action is defined
Allow defining multiline shell commands and callbacks
Minor formatting tweaks
Initial implementation of triggers with callbacks
Improved organization, more error catching
Make sure that triggers either have a condition or callback
Make void callbacks take conduit node parameters
Initial attempt at exposing callbacks through ascent-jupyter-bridge
Let void callbacks return arbitrary data via conduit nodes
Disallow anonymous callbacks, add some tests
Add tests for shell commands and callbacks
Refactor callback API into the main API, adjusts tests to reflect the change
Minor cleanups that I missed
Fix minor bug with the trigger + callback test