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

dnsimple / erldns / 20745797227
85%

Build:
DEFAULT BRANCH: main
Ran 06 Jan 2026 10:41AM 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

06 Jan 2026 10:40AM UTC coverage: 84.358% (+0.4%) from 83.97%
20745797227

push

github

web-flow
Add dependency validation and introspection for pipeline pipes (#293)

This commit introduces a mechanism to explicitly declare and validate
dependencies between pipes in the `erldns_pipeline`. It ensures that the
pipeline configuration respects the execution order required by specific
modules.

1. Pipe Dependency Management

Added a new optional callback `c:deps/0` to the `erldns_pipeline`
behaviour. Pipes can now declare:

- `prerequisites`: A list of modules that must appear earlier
- `dependents`: A list of modules that must appear later

The `erldns_pipeline:store_pipeline/2` function has been updated to
`validate_and_prepare/1`. It now validates these constraints at load
time. If a dependency is violated (e.g., a prerequisite is missing or
appears after the dependent pipe), the pipeline initialization will fail
with a useful error message (e.g., unsatisfied_dependency).

2. Introspection

Added `erldns_pipeline:is_pipe_configured/1` and
`erldns_pipeline:is_pipe_configured/2`. These functions allow the system
to check if a specific module or function pipe is present in the main
packet_pipeline or a custom pipeline, enabling dynamic checks at
runtime.

3. Implementations

Updated existing core pipes to utilize the new dependency system:

- `erldns_dnssec`: declares `erldns_resolver` as a prerequisite.
- `erldns_resolver`: declares `erldns_questions` as a prerequisite and
  `erldns_sorter`, `erldns_section_counter` as dependents.

51 of 51 new or added lines in 3 files covered. (100.0%)

1510 of 1790 relevant lines covered (84.36%)

1130.63 hits per line

Jobs
ID Job ID Ran Files Coverage
1 20745797227.1 06 Jan 2026 10:41AM UTC 45
84.36
GitHub Action Run
Source Files on build 20745797227
  • Tree
  • List 45
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #20745797227
  • 8b3750c2 on github
  • Prev Build on main (#20720987691)
  • Next Build on main (#20746037289)
  • Delete
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