On 10/11/2016 08:13 PM, Ondrej Novy wrote: > Hi, > > 2016-10-11 18:58 GMT+02:00 Thomas Goirand <[email protected] > <mailto:[email protected]>>: > > It is impossible maintain 400+ interacting packages the way you would > with your single pet package. > > > I don't see any problem using source-only upload for all OS packages. > buildd will wait for missed deps automatically and it's cross-check of > your work. > > The only way I see to fix this, is deploying the same kind of CI/CD we > have designed in the OpenStack infrastructure, but using Sid, and > > > this is not needed. We should use source-only upload, that's all. We > already have something like CI/CD - buildd with source-only uploads + > repro builds.
The issue is inter-(build-)dependencies. Let's say we have package A that build-depends on B, which itself build-depends on C. We then have to do a source-only upload of C, wait for the next dak run, wait for it to be built, then installed in the master repository. Then it has to reach the mirrors of buildd machines (hint: packages propagate at different speed on each dak run, depending on the mirror configuration, Internet connectivity, and so on). Then only, B can be built, which also takes so long. Then only A can be built. All of this could take maybe 2 days. And that's not the only issue. In the OpenStack packages, there's cyclic build-dependencies. We'd have to (temporarily) remove some unit tests and build-dependencies for some packages to be buildable. While you do all of this, as soon as package C is uploaded, maybe all of OpenStack is broken (who knows? I wouldn't be surprised, I have seen such things in the past...). What I tried to achieve was uploading everything in a single Dak run, in order to minimize the time when we're switching from Mitaka to Newton. That's the best service I can do to both our users (so they get updates at once if they run unstable), and to everyone that is contributing bug reports, as it avoids FTBFS, runtime problems and such, just because we don't have the correct working together set of packages. So yeah, really, source-only uploads are nice, but it will never replace a real CI, and it prevents mass-uploads. Yes, I did forget a build-dependency, though that's still much nicer than living unstable broken for days/weeks with the workflow you're both proposing. If you still don't agree, let me know. I'd love to hear counter arguments, or a solution if there's one. Cheers, Thomas Goirand (zigo)

