Conversation
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Allow custom message
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #108 +/- ##
==========================================
+ Coverage 98.42% 98.93% +0.51%
==========================================
Files 16 27 +11
Lines 1266 1882 +616
==========================================
+ Hits 1246 1862 +616
Misses 20 20 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Parser submodule
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Break apart `atomic_parser`
For the helper file. It was already not just ast. Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Use a more generic name
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Refactor: extract and move methods
Restricted to nested workflow and atomic nodes -- no flow controls yet Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
For the other should-be-impossible error branch Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Write parser for workflows
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
So that the two label-related functions are adjacent Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
They were executing fine in pycharm and the CI, but this helps with some other dev environments Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
To include all four flow controls Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Into a subdirectory, so they don't overwhelm other integration tests visually Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Integration
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
It's only used here Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
For dealing with conditional cases is while, if, and try Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Deduplicate
By introducing a named data structure Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
With a simple alias and comment Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
So method name documents intent Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Clarify iters
|
Alright, I'm happy enough with this for now. All flow control structures in the pydantic models can now be parsed from constrained python. Critical feedback is welcome @samwaseda (and @XzzX and others), but I won't insist on or wait for review; we can patch and change things as we go. A pedagogical notebook or two is absolutely needed, but I want to address some core mismatches between the pydantic models and the nested dictionaries (namely #130, #131, and #146) before I bother with that. |
The python interpreter itself won't allow us to have a bare `try:`. Since we currently forbid `else:` and `finally:`, having an `except:` is all that is left available. If, at some point, we _do_ except the other clauses, we would anyhow not need to demand an except clause. So the check is redundant. Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
That is not actually looped as input, but is nonetheless updated at each cycle. Signed-off-by: liamhuber <liamhuber@greyhavensolutions.com>
Catch while node output
Like #75, this is a placeholder PR to aggregate the individual PRs to get a parser and universal decorator for getting a
WorkflowNoderecipe from a (subset of) python functions.