ci: add build + host-test workflow - #1
Merged
Merged
Conversation
…se 2) - Add DnsBlocklist with label-boundary suffix matching and atomic block counter - Seed blocklist from baked-in defaults on first boot, persist to NVS - Sinkhole blocked A queries to 0.0.0.0, NXDOMAIN for other qtypes - Insert blocklist check between local table and cache in resolution order - Add read-only GET /api/blocklist endpoint - Add phase 2 design spec - Replace default single-app partition table with a custom one (4MB app, 64KB nvs) to fix near-full app partition
… 3-4) - Add DnsMetrics singleton with atomic query/cache/forward/SERVFAIL counters - Add upstream-latency histogram sourced from DnsForwarder's in-flight slots - Expose GET /metrics in Prometheus plaintext format - Add mDNS responder advertising the device as edge-dns.local (A + AAAA) - Advertise an _http._tcp service pointing at the existing dashboard - Bring up IPv6 link-local addressing on the STA netif for AAAA support - Add espressif/mdns as a managed component dependency - Ignore managed_components/ (regenerated by the component manager) - Document both phases in ARCHITECTURE.md, README.md, and design specs
… DNS phase 5) - Add DnsRecordStore: mutex-guarded, NVS-persisted DNS record table - Seed the store from DNS_RECORDS_DEFAULTS (dns_records.h) on first boot - Replace dns_server.cpp's constexpr record lookup with record_store().find() - Add POST/PUT/DELETE /api/records behind HTTP Basic auth - Add OPTIONS preflight and reflect-origin CORS on /api/records - Validate hostname syntax and IPv4 format on mutating requests - Bump httpd max_uri_handlers for the new routes' headroom - Document the httpd_resp_set_hdr() pointer-lifetime gotcha found on hardware - Document the phase in ARCHITECTURE.md, README.md, and a design spec
…e DNS phase 6) - Add optional IPv4/IPv6 addresses per DnsRecordEntry (dual-stack, never neither) - Return NODATA instead of NXDOMAIN when a name exists but lacks the queried family - Add build_aaaa_record_response and build_nodata_response to dns_wire - Keep NVS record blobs backward-compatible with pre-phase-6 IPv4-only entries - Extend the CRUD API with an optional "ipv6" field on /api/records - Retry a timed-out forwarded query once against a secondary upstream before SERVFAIL - Accept upstream replies from either address, matched by slot/generation - Add dns_upstream_retries_total metric; narrow timeouts_total to final give-ups - Add host_test/: Unity suite for dns_wire.cpp on ESP-IDF's linux target - Document the phase in ARCHITECTURE.md, README.md, and a design spec
- Move contents: write from workflow-level to the release job - Avoid granting write access to firmware-build/host-tests, which never need it
- GitHub Actions container jobs skip the espressif/idf image's own ENTRYPOINT, so idf.py is never on PATH without sourcing export.sh first - Add ". \"\$IDF_PATH/export.sh\"" to every run step that calls idf.py
- idf.py silently ignores -C when it appears after set-target's positional target argument, so it was configuring the repo root (needing esp_wifi et al) instead of host_test/ - Set the step's working-directory to host_test/ instead, matching how this is run locally
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Verifying CI end-to-end.