Why is it I can make a local build on a 5 year old “mid range” gaming PC in 20 seconds but the same project in Build Automation takes 40 minutes to sometimes well over an hour to build? I even have the project library cache turned on which is supposed to make it faster.
I know there is a download from “Plastic” part of this equation, but still.
Hard to say. Automated builds typically take longer. The way GameCI works with GitHub actions is as follows, and any cloud build service will have a similar process:
- Start a virtual machine instance
- Checkout project to virtual machine (VM)
- Optional: copy “cache” (Library etc) from previous runs to VM
- Open project in VM
- Optional: run unit tests
- Start build
- Copy build output to some location
- Shutdown VM
This process may be further delayed by load balancing processes. So if many other devs are currently making a build it’s possible that your job will be queued for a while or may be slowed down since there may be several VMs running on the same physical machine.
Cloud builds aren’t made to be faster, eg you typically don’t wait for them to finish. Instead their main benefit is that they run in the background, often after every commit, and then they’ll let you know that the “platform X” build failed which is great to know because obviously that’s because of the feature you were working on.
If you make that platform build yourself days or weeks later, you will typically spend a lot more time trying to reason about the issue, locate, debug and fix it since so many other features have been committed since.
1 Like