logs.gokuls.in

1 pull request merged across 1 repo

bahdotsh/wrkflw

  • toJSON(steps) was returning null instead of the nested { step_id: { outputs: {...}, outcome, conclusion } } object that GitHub Actions provides
  • Added a "steps" if parts.len() == 1 match arm in resolve() that builds a nested ExprValue::Object from both step_outputs and step_statuses maps
  • 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 — bare steps with data is truthy
  • tojson_steps_special_characters_in_outputs — quotes, backslashes, unicode in output values
  • All 59 expression tests pass