April 16, 2026
1 pull request merged across 1 repo
bahdotsh/wrkflw
toJSON(steps)was returningnullinstead of the nested{ step_id: { outputs: {...}, outcome, conclusion } }object that GitHub Actions provides- Added a
"steps" if parts.len() == 1match arm inresolve()that builds a nestedExprValue::Objectfrom bothstep_outputsandstep_statusesmaps - Unions keys from both maps so steps appearing in either are included
Test plan
-
tojson_steps_returns_nested_object— full nested structure with outputs + statuses -
tojson_steps_empty_context— empty steps →{} -
tojson_steps_sorted_keys— alphabetical key ordering -
tojson_steps_status_without_outputs— step with outcome/conclusion but empty outputs -
tojson_steps_outputs_without_status— step with outputs but no status entry -
bare_steps_is_truthy— barestepswith data is truthy -
tojson_steps_special_characters_in_outputs— quotes, backslashes, unicode in output values - All 59 expression tests pass