ci: resolve ipp-usb TCP port via DNS-SD instead of the state file - #135
Merged
tillkamppeter merged 2 commits intoJul 26, 2026
Merged
Conversation
Both the snap and emulator tests scraped http-port from ipp-usb's private per-device state file to reach its TCP listener. Resolve it over DNS-SD (avahi-browse -r on _ipp._tcp) instead: the port comes from the advertised SRV record, so the test now asserts the port ipp-usb publishes is the port it serves. Keep the state-file/log scrape as a fallback so it cannot regress where browsing is unavailable; add avahi-utils to the deps.
Make the DNS-SD resolution observable in the run so the assertion is visibly exercised (the resolved port can coincide with the fallback default, hiding which path won).
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.
What
Resolve ipp-usb's TCP proxy port over DNS-SD instead of scraping the private per-device state file, in both the snap and emulator integration tests.
Both
snap-test.ymlandemulator-test.ymlpreviously readhttp-portfrom ipp-usb's private on-disk state file to reach its TCP listener. This follow-up (per review feedback on the CI PR) switches to the public interface:avahi-browse -rptk _ipp._tcp→ take the port from the advertised SRV record.localhostcurl target so ipp-usb's per-client 302 redirect still resolves.avahi-utilsto the workflow deps.Why
Scraping
http-portcouples the test to ipp-usb's private on-disk format. DNS-SD is the public discovery interface, and the assertion is strictly stronger: it now verifies that the port ipp-usb advertises is the port it actually serves.Validation
Both integration tests pass; the run log confirms the DNS-SD path resolved the port (not the fallback):