Easily providing test/debug images to end users? "experimental" tree?

Hauke Mehrtens hauke at hauke-m.de
Sun Dec 8 06:31:42 PST 2024


On 11/30/24 11:33, Tim Small wrote:
> 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.
> 

Hi Tim,

I think a separate experimental branch would cause a lot of maintenance 
efforts. If we just merge all PRs into it, it will probably not build 
most of the time because some PR broke something. When something gets 
merged we have to rebase again which is also some effort. Linux-next 
does not contain all random patches posted on the mailing lists, but 
only the trees of the subsystem maintainers which will merge into Linus 
tree later. It will not contain patches someone posted on the mailing 
list so that someone else can test them.

We are already using the github CI to build test all PRs. We can also 
upload the resulting images somewhere. github already supports to upload 
the result of a github action run. I do not know how much storage space 
we have there.

If we run into a build failure we are already uploading the log files, 
see: 
https://github.com/openwrt/actions-shared-workflows/blob/main/.github/workflows/reusable_build.yml#L680

I do not know who has access to these files. Maybe you have to login to 
gitbub to get access.


Hauke



More information about the openwrt-devel mailing list