• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

sgerrand / git_hoox / 31574005342
98%

Build:
DEFAULT BRANCH: main
Ran 12 Aug 2026 07:27AM UTC
Jobs 1
Files 28
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

12 Aug 2026 07:26AM UTC coverage: 98.315% (-0.02%) from 98.333%
31574005342

push

github

web-flow
feat(reporter): coloured terminal reporter for hook runs (#18)

* feat(reporter): add coloured terminal reporter for hook runs

Add GitHoox.Reporter, a telemetry handler (sibling of GitHoox.Logger)
that prints coloured per-hook and per-stage status lines to the
terminal via plain IO. Colour is decided once at attach time, honouring
GIT_HOOX_COLOR, NO_COLOR, CLICOLOR_FORCE/FORCE_COLOR, then falling back
to IO.ANSI.enabled?/0. Stages with no configured hooks print nothing.

The handler is opt-in and not yet wired into mix git_hoox.run. Guard the
test suite with reporter: false so the global handler cannot leak into
other suites; reporter tests attach explicitly and detach on exit.

* feat(reporter): attach reporter from mix git_hoox.run

Wire GitHoox.Reporter into the run task so real hook invocations print
coloured status by default. Gate it on config :git_hoox, :reporter
(default true) so hosts can turn it off, and document the switch and the
colour environment variables in the task moduledoc.

The task runs without the app started, so :telemetry is down.
:telemetry.span/execute tolerate that, but :telemetry.attach needs the
app up and the reporter needs it up to receive events. Start :telemetry
first, guarded so a failure there can never block the commit.

Add wiring tests covering the reporter: true / false paths through the
mix task.

* docs(reporter): document the coloured status reporter

Add a Status Lines section to the README covering the reporter output,
the reporter: false switch, and the colour environment variables. Point
the Observability section and the GitHoox.Telemetry moduledoc at
GitHoox.Reporter alongside GitHoox.Logger, and describe the reporter in
CLAUDE.md next to the telemetry notes.

* test(reporter): pin trailing reset on every coloured line

IO.ANSI.format/2 already appends a reset when it emits any sequence, so
no style leaks into the shell prompt today. Lock that: fire every event
that produces coloured output and assert th... (continued)

52 of 53 new or added lines in 2 files covered. (98.11%)

642 of 653 relevant lines covered (98.32%)

27.73 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
97.96
lib/git_hoox/reporter.ex
Jobs
ID Job ID Ran Files Coverage
1 31574005342.1 12 Aug 2026 07:27AM UTC 28
98.32
GitHub Action Run
Source Files on build 31574005342
  • Tree
  • List 28
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31574005342
  • 8ef18667 on github
  • Prev Build on main (#31518650958)
  • Next Build on main (#31574112157)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc