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

erlef / purl / 2323e5ffca5b65ad95d452241eeb98ed09ec7a35
86%

Build:
DEFAULT BRANCH: main
Ran 28 Jul 2026 01:10PM UTC
Jobs 1
Files 16
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

28 Jul 2026 01:08PM UTC coverage: 85.983% (+1.5%) from 84.483%
2323e5ffca5b65ad95d452241eeb98ed09ec7a35

push

github

web-flow
Compile purl type specifications into a generated module (#152)

The type registry cached the purl-spec type definitions in a DETS table
under priv/data. That requires a writable priv directory, which is not
available in a typical production release, and made the JSON specs a
runtime dependency.

Instead, generate src/purl_type_data.erl from priv/spec/types/*.json at
build time and commit it. The registry now seeds its ETS table from that
module, so ETS keeps behaving exactly as before while startup no longer
touches the filesystem.

Generation lives in a rebar3 plugin (rebar3_purl_gen) under _checkouts so
that rebar3 loads erlfmt for it, which keeps the generated file compliant
with `rebar3 fmt --check` and makes `--check` a plain byte comparison. The
generated header records the purl-spec revision it was built from.

Run `rebar3 purl_gen` after bumping the priv/spec submodule and commit the
result. CI runs `rebar3 purl_gen --check` to keep the two in sync.

Since the definitions are compiled in, priv/spec/types is no longer
published to Hex; the spec LICENSE is still shipped as the data is derived
from it.

Note: the `type_dir` start option is removed, as types no longer load from
disk.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

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

17 existing lines in 1 file now uncovered.

411 of 478 relevant lines covered (85.98%)

75927.62 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
56.82
-6.1% src/purl_type_registry.erl

Coverage Regressions

Lines Coverage ∆ File
17
56.82
-6.1% src/purl_type_registry.erl
Jobs
ID Job ID Ran Files Coverage
1 2323e5ffca5b65ad95d452241eeb98ed09ec7a35.1 28 Jul 2026 01:10PM UTC 16
85.98
GitHub Action Run
Source Files on build 2323e5ffca5b65ad95d452241eeb98ed09ec7a35
  • Tree
  • List 16
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 2323e5ff on github
  • Prev Build on main (#1247B44A...)
  • Next Build on main (#E051C029...)
  • 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