Skip to content

feat(eldritch): add dns library with list_a_records#2191

Merged
Cictrone merged 5 commits intomainfrom
feature/dns-eldritch
Apr 11, 2026
Merged

feat(eldritch): add dns library with list_a_records#2191
Cictrone merged 5 commits intomainfrom
feature/dns-eldritch

Conversation

@Cictrone
Copy link
Copy Markdown
Collaborator

@Cictrone Cictrone commented Apr 11, 2026

Description

This PR introduces a brand new module into the Eldritch Standard Library: eldritch-libdns. The library enables DNS lookups within Eldritch scripts.

Changes Made

  • Added a new DnsLibrary trait under newly created eldritch-libdns Rust crate package.
  • Implemented list_a_records(domain, nameserver) function exposing A-record lookup capabilities.
  • Wired up fake bindings (DnsLibraryFake) for internal tests, WebAssembly UI target (eldritch-wasm), and Repl mock modes.
  • Wired up std bindings (StdDnsLibrary) heavily leveraging the hickory-resolver crate dependency to perform true network lookups (optionally accepting a custom DNS nameserver parameter).
  • Registered and embedded eldritch-libdns appropriately into eldritch/Cargo.toml as a primary workspace-level standard library.

Verification

  • Builds and passes standard tests (cargo test -p eldritch).
  • Integrated to test appropriately in isolation and properly integrated in the root interpreter tree.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 11, 2026

Summary

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Other ❓ Flaky 🍂 Duration ⏱️
719 719 0 0 0 0 1ms

Previous Results

Build 🏗️ Result 🧪 Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Other ❓ Flaky 🍂 Duration ⏱️
#1985 719 719 0 0 0 0 41.6s

Insights

Average Tests per Run Total Flaky Tests Total Failed Slowest Test (p95)
719 0 0 5.5s

Test Changes

0 test added, 0 removed

Slowest Tests

Test 📝 Results 📊 Duration (avg) ⏱️ Duration (p95) ⏱️
TestDockerExecutor_Build_ContextCancellation 1 5.5s 5.5s
TestInteractiveShell 1 5.1s 5.1s
TestOtherStreamOutput 1 5.0s 5.0s
TestDockerExecutor_Build_SimpleEcho 1 2.8s 2.8s
TestDockerExecutor_Build_StreamsOutputInRealTime 1 1.4s 1.4s
TestGetRandomName/NoDuplicates 1 1.4s 1.4s
TestGetRandomName 1 1.4s 1.4s
TestCreateTestData 1 1.3s 1.3s
TestAPI 1 1.1s 1.1s
TestNonInteractiveShell 1 1.0s 1.0s

🎉 No failed tests in this run. | 🍂 No flaky tests in this run.

Github Test Reporter by CTRF 💚

🔄 This comment has been updated

@Cictrone
Copy link
Copy Markdown
Collaborator Author

Adding details for binary size comparison:

main debug linux: 325.17 MB
branch debug linux: 326.88 MB

main release linux: 8.84 MB
branch release linux: 8.85 MB

results:

0.53% debug binary size increase
0.11% release binary size increase

@Cictrone Cictrone requested a review from KCarretto April 11, 2026 17:11
@Cictrone Cictrone changed the title feat(eldritch): add dns library with resolve_a feat(eldritch): add dns library with get_a_records Apr 11, 2026
@Cictrone Cictrone changed the title feat(eldritch): add dns library with get_a_records feat(eldritch): add dns library with list_a_records Apr 11, 2026
@Cictrone Cictrone enabled auto-merge April 11, 2026 17:39
@Cictrone Cictrone disabled auto-merge April 11, 2026 17:39
@Cictrone Cictrone merged commit 00b18fa into main Apr 11, 2026
7 of 8 checks passed
@Cictrone Cictrone deleted the feature/dns-eldritch branch April 11, 2026 17:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants