Skip to content

v0.4.2

Latest

Choose a tag to compare

@jahvon jahvon released this 27 Aug 05:24
917305a

Bug fixes to CI log output and logger concurrency. No API changes.

Fixes

Valid GitHub log groups, and only on GitHub (#113)

  • ::group:: was emitted whenever CI=true. It is GitHub syntax, so every other provider printed literal ::group::name lines instead of a header. Now gated on GITHUB_ACTIONS; other providers get the styled header that local runs already got.
  • Nested groups produced invalid output — GitHub does not support nesting, and a second ::group:: before the first closes swallows the rest of the log. Depth is tracked so only the outermost pair is emitted.
  • An unmatched EndGroup emitted a stray ::endgroup::, closing whatever GitHub had open around it. It is now a no-op, which lets a caller skip BeginGroup conditionally without mirroring that condition on the way out.
  • Group names are escaped per GitHub's spec; an unescaped newline previously ended the command early and leaked the remainder as ordinary log lines.

Logger mode concurrency (#112) — Std{Out,Err}Writer flip the logger mode on every write, so a command's stdout and stderr could race on it. The mode field is now guarded and the flip/render/restore sequence serialized.