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

ukeeper / ukeeper-readability / 24316097933
78%

Build:
DEFAULT BRANCH: master
Ran 12 Apr 2026 08:50PM UTC
Jobs 1
Files 9
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 Apr 2026 08:49PM UTC coverage: 77.947% (+0.8%) from 77.118%
24316097933

push

github

web-flow
Modularise URL retrieval with Cloudflare Browser Rendering support (#73)

* feat: create Retriever interface and HTTPRetriever implementation

Extract URL fetching abstraction from the inline HTTP logic in extractWithRules.
Defines Retriever interface, RetrieveResult struct, and HTTPRetriever with
Safari user-agent, redirect following, and timeout support. Includes moq
generate directive and comprehensive tests.

* feat: implement CloudflareRetriever for Browser Rendering API

* feat: wire Retriever interface into UReadability extraction pipeline

* feat: add CLI flags and wire Cloudflare retriever in main.go

* feat: generate Retriever mock, run gofmt and linter

Generate moq mock for Retriever interface as a test-only file
(retriever_mock_test.go) instead of mocks/ subpackage to avoid
import cycle (mocks/retriever.go would import extractor, cycling
with readability_test.go). Run gofmt on all modified files, zero
lint issues.

* feat: verify acceptance criteria for Retriever interface

* feat: update documentation for Retriever interface and CLI flags

* fix: address code review findings

- fix err shadowing in deferred Body.Close() in both retrievers (use closeErr)
- handle Cloudflare API success=false response explicitly instead of treating JSON error as HTML
- truncate CF API error body to 512 bytes in error messages
- add comment documenting CF retriever URL limitation (no final URL after JS redirects)
- fix pre-existing %b format verb in text.go logging (should be %v)
- replace network-dependent TestCloudflareRetriever_DefaultBaseURL with local httptest
- add TestCloudflareRetriever_SuccessFalse for the new success=false handling
- add TestExtractWithCustomRetriever integration test using RetrieverMock
- remove duplicate plan file from docs/plans/ (already in completed/)
- update README.md with new CF CLI flags and feature description
- update CLAUDE.md CI bullet to reflect split docker.yml workflow

* fix: address code review findings

* fix: a... (continued)

207 of 250 new or added lines in 5 files covered. (82.8%)

1 existing line in 1 file now uncovered.

767 of 984 relevant lines covered (77.95%)

9.39 hits per line

Uncovered Changes

Lines Coverage ∆ File
26
83.01
extractor/retriever.go
15
70.77
-18.42% main.go
1
89.15
3.99% extractor/readability.go
1
88.06
0.0% extractor/text.go

Coverage Regressions

Lines Coverage ∆ File
1
89.15
3.99% extractor/readability.go
Jobs
ID Job ID Ran Files Coverage
1 24316097933.1 12 Apr 2026 08:50PM UTC 9
77.95
GitHub Action Run
Source Files on build 24316097933
  • Tree
  • List 9
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • d512f1e6 on github
  • Prev Build on master (#24288823198)
  • Next Build on master (#24316800860)
  • 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