Easily providing test/debug images to end users? "experimental" tree?
Tim Small
tim at seoss.co.uk
Sat Nov 30 02:33:25 PST 2024
Hi,
It seems that it's currently a bit tricky to get work-in-progress
changes or debug builds tested by end-users.
Some sort of end-user test is often needed where the issues are
occurring sporadically, or where the developer lacks hardware or some
other necessary piece of the puzzle to reproduce the issue themselves
(e.g. client devices, radio environment, network traffic, or other
connected equipment etc. etc.).
It is of course possible to just publish a git fork, but this relies on
the testers being sufficiently savvy (and with the time) to set up a dev
environment.
Alternatively the developer could build images on-demand for particular
testers, but this increases load on the developers, who have to host the
builds in question somewhere for download and potentially rebuild
several times to keep the images fresh.
End-users have to be happy to install an image from $random_website
(instead of "official" OpenWrt builds). Even if they are, this isn't
really setting a great example to end-users when OpenWrt developers have
to tell them to rust and download a build from whatever site.
A little analogous to how there is a "linux-next" github repository, I
wonder if there would be merit in an OpenWrt EXPERIMENTAL tree? Rather
than being targetted only to developers, this tree could be used as
source to build installable images for end-users to download and try
when debugging particular issues.
It could be used for patches which haven't been sufficiently tested to
justify merging to main, and/or for debug builds, or code changes which
deliberately produce debug output.
I think the existence of such an experimental tree would also reduce the
number of regressions and associate reverted changes in main.
Potentially a "stable-experimental" tree could also be useful for
allowing users to test such patches against the current stable tree too
(for devices in production and to allow them to easily install their own
choice of userspace packages etc.).
Images could potentially be build on-demand (for particular targets)
rather than continuously for all targets to reduce resource consumption.
As a practical example, I have a debug patch for Ethernet cable test TDR
raw data reporting (on Marvell PHYs) which I'd like to get users to run
to derive some timings which are needed to produce a finalised patch to
the mainline kernel and OpenWrt main.
The change itself is pretty trivial, but the issue is hardware specific
and I want to make sure that I don't cause any regressions (either
slowing down or breaking the functionality), but I only have access to 1
of the 10 or so relevant pieces of hardware.
Forum post here:
https://forum.openwrt.org/t/ethernet-cable-test-with-raw-tdr-data-reporting-bug-fix-testers-needed/216724
Cheers,
Tim.
More information about the openwrt-devel
mailing list