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

kettle-dev / kettle-family / 37870173673
88%

Build:
DEFAULT BRANCH: main
Ran 09 Oct 2026 01:32AM UTC
Jobs 1
Files 38
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

09 Oct 2026 01:30AM UTC coverage: 88.205% (+0.05%) from 88.16%
37870173673

push

github

pboling
🐛 Fix clean-unreleased missing bundle-masked unreleased versions

Under `bundle exec`, every RubyGems enumeration API is bundle-scoped:
find_all_by_name, stubs_for, and Specification.all all report only the
versions the active bundle resolves, not everything installed in the gem
home. So an unreleased version that was built and installed but is not
pinned by the lockfile was invisible to cleanup.

That made the tool blind in exactly the state it exists to correct. Once a
lockfile re-resolves to released versions, the offenders stop being
enumerated, and cleanup reports "no unreleased installed versions found"
with outcome success while leaving them installed. Every RubyGems entry
point shares the masking, including a `gem list` subprocess spawned from
inside the bundle.

Measured on kettle-rb:

    plain gem list          0.1.14, 0.1.15, 0.1.16
    find_all_by_name        0.1.15                 <- only bundle-active

Read installed versions by scanning the specification directories under
each Gem.path root instead. That sees every installed version regardless
of bundle activation, and still excludes PATH and git source checkouts by
construction, since those are not under a gem home.

The previous implementation filtered on full_gem_path Gem.path membership
to exclude source checkouts; the same guarantee now comes from only
scanning gem-home specification directories. The bare `rescue` that
swallowed all errors is gone, so a parse failure no longer silently drops
a candidate. Version parsing is exact: a native platform suffix is cut at
the first hyphen, matching Gem::Specification#version, and a filename whose
version part does not parse is skipped rather than guessed at, so a
similarly named gem such as alpha-extra cannot become a candidate.

Verified end to end against the kettle-dev family. Before the fix, clean
reported "no unreleased installed versions found" for all 13 members. After,
it surfaces 10 genuinely unreleased members (kettle-rb 0.1.16,... (continued)

2739 of 3521 branches covered (77.79%)

Branch coverage included in aggregate %.

14 of 14 new or added lines in 1 file covered. (100.0%)

6751 of 7238 relevant lines covered (93.27%)

109.46 hits per line

Jobs
ID Job ID Ran Files Coverage
1 37870173673.1 09 Oct 2026 01:32AM UTC 38
88.21
GitHub Action Run
Source Files on build 37870173673
  • Tree
  • List 38
  • Changed 2
  • Source Changed 1
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #37870173673
  • 38851e11 on github
  • Prev Build on main (#37579213212)
  • Next Build on main (#37887306004)
  • 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