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

jhheider / penknife / 28777101593
76%

Build:
DEFAULT BRANCH: main
Ran 06 Jul 2026 08:07AM UTC
Jobs 1
Files 32
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

06 Jul 2026 08:06AM UTC coverage: 40.292% (+0.4%) from 39.847%
28777101593

push

github

web-flow
Harden the public library error types; cover the libraries (#28)

An error-idioms review flagged two public-API mistakes in the crates
that freeze on their crates.io publish, plus a coverage gap.

Both public error enums gain `#[non_exhaustive]`. This is free now
and impossible to add later without it being a breaking change: it
lets `GistError` and `BackendError` grow a variant (a rate-limit, an
unauthorized, a conflict) in a future minor without breaking a
downstream `match`. `BackendError` needs it most, since that enum is
explicitly the extension seam for more backends.

`BackendError::Api` is renamed to `Message`: a backend is not
required to be an HTTP API (the trait documents filesystem-shaped
backends too), so the catch-all's name should not imply one.
Renaming a public variant is breaking, so it happens before publish.

`GistError`'s Display strings are lowercased and de-punctuated to
match `BackendError` and the Rust API guidelines, so they compose
cleanly when wrapped.

Coverage for the two published libraries jumps: penknife-backend
50 -> 94% (error Display and the value types now exercised) and
penknife-gist/auth.rs 0 -> 78% (the `$GITHUB_TOKEN` fast path; the
`gh` subprocess fallback stays out of unit tests by nature). The
justfile gains edikt's coverage/coverage-summary/coverage-missing
recipes and test/lint shortcuts.

Version bumps for the changed crates land as one atomic step with
the release cut.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

36 of 39 new or added lines in 3 files covered. (92.31%)

3065 of 7607 relevant lines covered (40.29%)

2.1 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
79.31
79.31% crates/penknife-gist/src/auth.rs
1
90.24
0.0% crates/penknife-gist/src/backend.rs
Jobs
ID Job ID Ran Files Coverage
1 28777101593.1 06 Jul 2026 08:07AM UTC 32
40.29
GitHub Action Run
Source Files on build 28777101593
  • Tree
  • List 32
  • Changed 3
  • Source Changed 3
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28777101593
  • 936f041a on github
  • Prev Build on main (#28775738666)
  • Next Build on main (#28778353418)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc