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

OneBusAway / watchdog / 32998952722
66%
main: 66%

Build:
Build:
LAST BUILD BRANCH: feat/issue-97-dependency-latency
DEFAULT BRANCH: main
Ran 26 Aug 2026 06:19PM UTC
Jobs 1
Files 50
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

26 Aug 2026 06:17PM UTC coverage: 66.398% (-1.5%) from 67.919%
32998952722

Pull #135

github

aaronbrethorst
ci: run the checks that were missing, and fix what they caught

The existing workflow ran tests and uploaded coverage. Nothing enforced
formatting, vetted the code, compiled it, ran the race detector, checked
module hygiene, or built the image before merge.

Adds four jobs (verify / test / vuln / docker). Three of the new checks
were red on arrival, so this also fixes what they found:

- internal/integration/ did not compile. It sits behind //go:build
  integration and CI never type-checked it, so it rotted against a
  NewGtfsService signature change and a deleted StoreGTFSBundle method.
  `make vet` now vets with -tags=integration, which is a superset of the
  untagged run.
- TestRefreshConfig had a real data race: onUpdated writes on the refresh
  goroutine while the test body read the same slice. Replaced the slice
  and its time.Sleep with a channel handoff, which also makes the
  assertions deterministic rather than timing-dependent.
- go.mod was not tidy (protobuf listed indirect though imported directly,
  godebug listed but unused).

Bumps Go 1.23.5 -> 1.25.0 for golang.org/x/text v0.39.0, which fixes
GO-2026-5970 -- an infinite loop on invalid input, reachable from
config.ValidateServer. govulncheck now reports clean and gates PRs.

While rewriting the integration test, restored the coverage it lost: it
now drives DownloadGTFSBundles and asserts on the stores that path
writes, including the server-scoped agency fan-out, the route -> agency
attribution the vehicle pass depends on, and whether the configured
agency_id is one the live feed actually declares. It fails on any
error-level log record, since that path reports failures through the
logger rather than returning them.

Claude-Session: https://claude.ai/code/session_018r3MdYQwHdBzkRdD8UQBpZ
Pull Request #135: ci: run the checks that were missing, and fix what they caught

2138 of 3220 relevant lines covered (66.4%)

8.69 hits per line

Coverage Regressions

Lines Coverage ∆ File
24
0.0
-50.0% internal/middleware/cached_prom_handler.go
11
0.0
-100.0% internal/middleware/security_middleware.go
9
0.0
-100.0% internal/middleware/sentry_middleware.go
3
80.87
-2.61% internal/config/config_loader.go
2
74.42
-0.51% internal/gtfs/gtfs_bundles.go
Jobs
ID Job ID Ran Files Coverage
1 32998952722.1 26 Aug 2026 06:19PM UTC 50
66.4
GitHub Action Run
Source Files on build 32998952722
  • Tree
  • List 50
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #135
  • PR Base - main (#32995342598)
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