Sunday, 26 January 2025

cdimage changes

Hi all,

If you've worked on the cdimage code, you have probably seen that the code that downloads the results of a livefs build is pretty complicated. It has all this knowledge for what the artifacts are called and the paths they should be downloaded to for long-obsolete series and projects and it turns out that for all projects we build, we can just download (very nearly) all artifacts and name them in predictable ways. I've just deployed a change to do this for devel series builds only.

I've been as careful as I know how to when making these changes, but it's definitely possible that I've missed something and some plucky builds will now fail, or, worse, get misbuilt in confusing ways. I hope not (I wrote code to compare the downloaded paths from the current code with the paths the simpler approach would download and ran it for a week or so with no reported differences) but of course I may have made a mistake.

One concrete change from this is that if an artifact fails to download, the whole build is marked as failed. Previously we could end up in a situation where a multi-squash ISO (like most installers are now) were simply missing one of the squasfses -- so this is definitely an improvement.

The plan after letting this code run for a bit is of course to use it for all series. And then delete all the crazy live_items_paths code!

Cheers,
mwh