ungoogled-software / ungoogled-chromium-fedora

RPM build for ungoogled-chromium
BSD 3-Clause "New" or "Revised" License
34 stars 6 forks source link

Implement OBS Upload workflow #4

Closed ghost closed 3 years ago

ghost commented 3 years ago

I see. I've turned off some warnings in the Debian repos just to avoid being flooded.

ghost commented 3 years ago

It succeeds. It failed on aarch64 due to OOM but pretty sure those will succeed because x86_64 did. I had the upgraded ram constraints disabled. It's weird how 8GB is enough for the non-x86_64 architectures for the other distributions but not here.

ghost commented 3 years ago

You can merge it now if you're ready. I'm currently working on consolidating project config with our official testing repository.

ghost commented 3 years ago

But I've discovered the upper ram limit for aarch64 is somewhere between 24G and 32G. Any higher than that and there's no available workers. So if we hit OOM for Fedora aarch64 even at these higher ram limits I will have to disable aarch64 due to being unable to build it.

ghost commented 3 years ago

I've found out why the RAM requirements are so high, or at least a pretty good theory. The Fedora packaging uses at least twice as many parallel jobs as the Debian packaging does. The more parallel jobs the more RAM required to do the work. With a package as massive as Chromium it's creating problems. I think it would be in our best interests to dial back the number of parallel jobs as it limits how many workers are capable of taking our build jobs, slowing down the start time for our builds. Your thoughts?

ghost commented 3 years ago

I am doing an experiment. I hard-coded the numjobs to 8 for x86_64 and 6 for aarch64. I'll see if this can build successfully with the same RAM constraints that the other distributions use.

wchen342 commented 3 years ago

How long will it take for the builds then?

ghost commented 3 years ago

This is just an estimate but Fedora 33 builds seem to take around 20823 seconds or 5.75 hours at present with -j 16. Debian Sid with -j 8 takes around 27818 seconds or 7.75 hours. So around 30% longer seems likely. But we'd be using half as much resources in the process. In any case I'm still waiting to see if forcing the number of jobs to a lower value makes any difference.

ghost commented 3 years ago

If it doesn't then I'm just going to add Fedora and CentOS for x86_64 only and require the full 32GB for them only. But if I can find a way to make them work like the rest that would be preferable from a maintenance standpoint.

Truth is, the build time isn't the only delay we have to contend with. The wait time until a worker is free also applies. And higher resource constraints reduces the number of available workers. So we need to find a balance between the two to reach a better overall time.