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

dennisdoomen / packageguard / 40218849214
82%

Build:
DEFAULT BRANCH: main
Ran 25 Oct 2026 06:05PM UTC
Jobs 1
Files 115
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

25 Oct 2026 05:56PM UTC coverage: 81.708% (+0.5%) from 81.175%
40218849214

push

github

web-flow
Evaluate SPDX license expressions instead of plain identifiers (#311)

* Evaluate SPDX license expressions instead of plain identifiers

Licenses were compared as whole strings, so a package with "MIT OR
Apache-2.0" failed an allow list that has both MIT and Apache-2.0.

A small parser now reads OR, AND, WITH, parentheses and the "+" suffix,
and replaces deprecated GNU identifiers such as GPL-3.0 with their
current form. Text that is not a valid expression is matched as is.

- Allow: OR needs one allowed option, AND needs all. A WITH term is
  allowed by the full term or by its base license.
- Deny and warn: OR needs every option denied, AND needs one. A WITH
  term is only denied by the full term.
- The reason names the license that matched, for example
  'matches allow list license entry "MIT" (from "MIT OR Apache-2.0")'.
- Legal risk and the init classifier use the least restrictive option of
  an OR and the most restrictive license of an AND.

Closes #217

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Score LGPL licenses as weak copyleft instead of restrictive

The legal risk evaluator checked for restrictive licenses first, using a
substring match on "GPL". Because "LGPL" contains "GPL", every LGPL
license got the restrictive score of 6.0 instead of 3.0.

Also mention license expressions in the risk metrics page, the intro and
the README.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

2718 of 3623 branches covered (75.02%)

Branch coverage included in aggregate %.

168 of 168 new or added lines in 8 files covered. (100.0%)

8369 of 9946 relevant lines covered (84.14%)

2198.85 hits per line

Jobs
ID Job ID Ran Files Coverage
1 40218849214.1 25 Oct 2026 06:05PM UTC 115
81.71
GitHub Action Run
Source Files on build 40218849214
  • Tree
  • List 115
  • Changed 41
  • Source Changed 7
  • Coverage Changed 40
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #40218849214
  • 3e8a3988 on github
  • Prev Build on main (#40126531601)
  • Next Build on main (#40228589606)
  • 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