On Wed, May 27, 2026 at 10:19:07PM +0200, Simon Josefsson wrote:
Jérémy Lal <[email protected]> writes:
running a test suite during build is something that feels more and more
useless, given debci.

While I think building with 'nocheck' on buildd's at some point in time
would be reasonable,

To do that, I think we'd need a formal requirement that any package supporting the nocheck profile must have autopkgtests that run equivalent or stricter tests, and some way to enforce that. I'm not sure how to do that ...

In the Python ecosystem, we could probably at least start to statically analyze the packages that use autopkgtest-pkg-pybuild to check whether this is the case, but there are a lot that don't for one reason or another. There are also quite a few odd cases where we have tests that only work properly at build time and don't work in autopkgtest (at least not with our current setup for them), such as:

  
https://salsa.debian.org/python-team/packages/pylint/-/blob/debian/4.0.5-1/debian/rules?ref_type=tags#L39-L44

So I think if we wanted to do this in practice and at scale, it would have to be done a bit like Rules-Requires-Root. We could invent a control field that says that a package can safely be built with nocheck without losing coverage, as long as the system as a whole promises to also run autopkgtests later.

I'm not sure that this is something I would personally want to opt into as a maintainer, though. The trade-off is between buildd time and the likelihood of delivering more broken things to unstable. Buildd time doesn't typically seem to be as contended as autopkgtest worker time, and shipping broken things in unstable does have a cost: as well as those users who use unstable, it increases the risk that other packages will be built against broken packages, which can be difficult to untangle.

It seems to me that improving the bootstrapping situation for cases where loops can be broken using nocheck would be a safer way to go. As Paul suggests, Debusine can at least allow users to submit build requests with arbitrary build profiles and have them built on all the architectures we support, although it's a bit awkward right now (it's only supported in the sbuild workflow, not in the higher-level debian_pipeline workflow, so you wouldn't get most of the QA tasks). If somebody wanted to try to specify what's missing there then that would be worthwhile. There might be some other tools lying around that I'm unaware of too.

--
Colin Watson (he/him)                              [[email protected]]

Reply via email to