-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Overall cycle time has regressed ~25% from 2hrs to 2.5hrs #40804
Comments
Just options:
ISTM that macs are the immediate problem. On linux we have the option of just splitting out the builds in the short-term. We might consider what it would mean for the 'extended' build to be a separate build process while still maintaining the advantages of a single codebase and build system. The way we have it set up now where we build the toolchain, then use the toolchain to build the tools, feels right to me though. Do the 'check' configurations run all the way through stage2 and check cargo? We could make the mac 'check' configurations not do extended builds for now, under the assumption nothing too horrible is going to go wrong (cargo and rls do have their own CI after all). |
Previously we would use one builder on Travis to produce two sets of host compilers for two different targets. Unfortunately though we've recently increased how much we're building for each target so this is starting to take unnecessarily long (rust-lang#40804). This commit splits the dist builders in two by ensuring that we only dist one target on each builder, which should take a much shorter amount of time. This should also unblock other work such as landing the RLS (rust-lang#40584).
travis: Split all dist builders in two Previously we would use one builder on Travis to produce two sets of host compilers for two different targets. Unfortunately though we've recently increased how much we're building for each target so this is starting to take unnecessarily long (rust-lang#40804). This commit splits the dist builders in two by ensuring that we only dist one target on each builder, which should take a much shorter amount of time. This should also unblock other work such as landing the RLS (rust-lang#40584).
I'm aware that this is closed, but have you considered making it build |
Over the past few weeks it looks like our overall cycle time has regressed from ~2hrs to ~2.5 hours (roughly). The main contributing factors to this seem to be:
AppVeyor in general looks pretty steady around or under 2 hrs, and all other builds are steadily under 2 hours as well. Note that 2 hours I'm taking as the "hard limit" here because that's how much time our absolute slowest builder, android, takes. I don't know how to optimize android any further so my goal has been to keep everything faster than Android.
I don't know how to solve the doubled up dist builder problem other than not doubling up dist builders. That would require an extra 8 builders on Travis. Currently we're using 33/45 slots. This is an unexpected increase in the number of builders so only 4 extra isn't great but it seems better than requiring all PRs to take longer.
Note that I'm considering this somewhat more urgent due to our desire to land the RLS in the distribution in the same manner as Cargo. Compiling the RLS takes ~10 minutes which would regress the doubled-up builders another 20 minutes, which is likely too unacceptable.
The text was updated successfully, but these errors were encountered: