Doesn't support building for many targets ("matrix builds")
More generally, Radicle CI has no way to support a setup where a project needs to be built on, and tests run on, many operating systems and architectures. Possibly so that parts of the run depend on artifacts from other parts.
A concrete example: assume I have a project that I build deb packages for, and I want to provide binary packages for several Debian releases (oldstable, stable, and unstable) and architetures (amd64, arm64, riscv64). I’d want to do this:
- build a source package on
amd64/oldstable-amd64because the hardware is likely fast, andoldstableso the source package doesn’t use any features that were only introduced later - then on each combination of Debian release and architecture, build a binary
debpackqage from the source package, not by building a new source package on each, and also run test suite on that combination - if all goes well, gather up the source package and every
deband publish them by uploading them to an APT repository
So: source package -> matrix of binary packages and tests -> publish
I’m not sure at the moment how Radicle CI should approach this, but it will be needed in the long run.