Debugging slow builds in CircleCI
A build may be slow in CircleCI due to a myriad of reasons. Let's look at a workflow example for go-template-example-with-circleci
(https://circleci.com/workflow-run/533ee47a-a990-4679-826b-7b24221df2ca):

In particular, notice that the integration job took over a minute to finish and the deploy job took over a minute to finish as well, which is making the build take 3 minutes and 20 seconds to complete. If we click on the integration job, we see the following steps in the job:

Notice here that the npm install
took 1 minute and 3 seconds to finish. Let's open up the run step call npm install
for further details:

The only dependency we have is for cypress.io
, but we are not caching this dependency so it will run this step every time. CircleCI has a way for us to cache our node dependencies by utilizing two field declarations called save_cache
(https://circleci.com/docs/2.0/configuration-reference/#save_cache) and restore_cache
(https://circleci.com/docs/2.0/configuration...