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

thumbor / libthumbor / 40144329099
100%

Build:
DEFAULT BRANCH: master
Ran 24 Oct 2026 11:50PM UTC
Jobs 9
Files 7
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

24 Oct 2026 11:50PM UTC coverage: 100.0%. Remained the same
40144329099

push

github

marcelometal
Sign CryptoURL paths with the bundled UrlSigner

CryptoURL computed its own base64 HMAC-SHA1 next to UrlSigner, the signer
thumbor imports from libthumbor to validate requests, and the two had already
drifted once: CryptoURL encoded str keys as latin-1 until six was removed.
CryptoURL now holds a UrlSigner and signs the composed path with it, so the
client and the server share one implementation. The key attribute keeps the
same bytes; the precomputed hmac attribute, which nothing in this repository
or in thumbor reads, is gone.

Across 80 combinations of str, non-ASCII, bytes and empty keys, image URLs
and options, master and this branch produce identical URLs. Creating the HMAC
on each call, as UrlSigner does, costs about 0.4 us per generate (3.4 to 3.8
us in a timeit run). CryptoURL(None) used to raise TypeError from hmac.new in
the constructor; UrlSigner stored any key and only failed on the first
signature, so BaseUrlSigner now rejects keys that are not str, bytes or
bytearray at construction, keeping that fail-fast for CryptoURL and giving it
to thumbor as well.

6 of 6 new or added lines in 2 files covered. (100.0%)

339 of 339 relevant lines covered (100.0%)

9.0 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-3.15-django5 - 40144329099.1 24 Oct 2026 11:50PM UTC 7
100.0
GitHub Action Run
2 run-3.12-django5 - 40144329099.2 24 Oct 2026 11:50PM UTC 7
100.0
GitHub Action Run
3 run-3.14-django6 - 40144329099.3 24 Oct 2026 11:50PM UTC 7
100.0
GitHub Action Run
4 run-3.12-django6 - 40144329099.4 24 Oct 2026 11:50PM UTC 7
100.0
GitHub Action Run
5 run-3.14-django5 - 40144329099.5 24 Oct 2026 11:50PM UTC 7
100.0
GitHub Action Run
6 run-3.15-django6 - 40144329099.6 24 Oct 2026 11:50PM UTC 7
100.0
GitHub Action Run
7 run-3.11-django5 - 40144329099.7 24 Oct 2026 11:50PM UTC 7
100.0
GitHub Action Run
8 run-3.13-django6 - 40144329099.8 24 Oct 2026 11:50PM UTC 7
100.0
GitHub Action Run
9 run-3.13-django5 - 40144329099.9 24 Oct 2026 11:50PM UTC 7
100.0
GitHub Action Run
Source Files on build 40144329099
  • Tree
  • List 7
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #40144329099
  • 4f66c140 on github
  • Prev Build on master (#40143795223)
  • Next Build on master (#40146376521)
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