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

enbility / ship-go / 24991636226
93%

Build:
DEFAULT BRANCH: dev
Ran 27 Apr 2026 11:14AM UTC
Jobs 1
Files 45
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

27 Apr 2026 11:10AM UTC coverage: 93.044% (-1.7%) from 94.71%
24991636226

push

github

web-flow
SHIP Pairing Implementation and API redesign (#66)

Implements SHIP Pairing Service specification including automatic device
pairing, HMAC-based authentication, and Device Replacement Timing Logic
for AddCu devices.

BREAKING CHANGE: ServiceIdentity is now used instead of ServiceDetails,
or manual SKI, fingerprint, shipID arguments

Key components:
- Complete pairing service with listener and announcer functionality
- HMAC-SHA256 authentication with nonce-based replay protection
- Ring buffer digest validation preventing replay attacks
- QR code generation and parsing for device discovery
- 15-minute AddCu device replacement timer with automatic trust
management
- ServiceDetails-centric Hub API replacing SKI-string methods
- Thread-safe AddCuReplacementTracker for production environments
- Comprehensive test coverage with specification compliance validation

Architecture improvements:
- Enhanced ServiceDetails with fingerprint, PairingType, and Copy()
methods
- Hub interface modernized to use ServiceDetails objects consistently
- Multi-identifier service lookup (SKI, fingerprint, SHIP ID)
- Clean separation between pairing service and Hub functionality
- Interface-based design enabling flexible pairing strategies

Security features:
- Constant-time HMAC validation preventing timing attacks
- Secure nonce generation with cryptographic randomness
- Certificate fingerprint validation for device identity verification
- Memory clearing of sensitive pairing data
- Protection against concurrent access races with Copy() pattern

Specification compliance:
- Device Replacement Timing Logic per section 4.3
- Automatic trust establishment after successful HMAC verification
- Timer-based pairing listener reactivation
- Backward compatibility with existing SHIP 1.0.1 connections

2464 of 2733 new or added lines in 27 files covered. (90.16%)

13 existing lines in 6 files now uncovered.

5698 of 6124 relevant lines covered (93.04%)

12665.89 hits per line

Uncovered Changes

Lines Coverage ∆ File
50
89.3
-8.02% hub/hub_pairing.go
45
23.73
hub/test_ringbuffer_persistence.go
35
92.14
0.15% mdns/mdns.go
15
81.93
pairing/service.go
13
86.05
-8.64% hub/hub_connections_server.go
12
76.92
api/service_identity.go
12
89.38
-5.93% hub/hub_shipconnection.go
12
93.75
pairing/listener.go
11
78.89
-13.52% cert/cert.go
11
76.76
11.32% hub/hub_connections_client.go
11
96.63
-2.2% mdns/avahi.go
9
91.0
api/shippairing.go
9
93.57
pairing/hub_integration.go
8
95.07
0.03% mdns/zeroconf.go
5
96.89
2.19% hub/hub.go
4
96.67
pairing/ring_buffer.go
2
97.3
hub/addcu_replacement_tracker.go
2
94.0
2.7% hub/hub_connections_retry.go
2
96.92
pairing/hmac.go
1
97.7
-0.85% hub/hub_mdns.go

Coverage Regressions

Lines Coverage ∆ File
3
89.3
-8.02% hub/hub_pairing.go
3
96.63
-2.2% mdns/avahi.go
2
78.89
-13.52% cert/cert.go
2
94.0
2.7% hub/hub_connections_retry.go
2
92.14
0.15% mdns/mdns.go
1
86.05
-8.64% hub/hub_connections_server.go
Jobs
ID Job ID Ran Files Coverage
1 24991636226.1 27 Apr 2026 11:14AM UTC 45
93.04
GitHub Action Run
Source Files on build 24991636226
  • Tree
  • List 45
  • Changed 16
  • Source Changed 16
  • Coverage Changed 15
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24991636226
  • 985c395b on github
  • Prev Build on dev (#24657161027)
  • Next Build on dev (#25171174759)
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