When a build fails

What a failure actually means, what to try, and when to ask us.

A build that fails has not lost anything and has not broken anything that was working. It is an ordinary event.

What a failure is#

The run ended without getting the application into a state that compiles. You are told in one sentence what went wrong.

What is not affected:

  • Anything deployed. Test and live keep running the version they were given.
  • Earlier versions. They are all still there.
  • The work the failed run did finish — it is committed and saved as a version of its own.

What to try#

  1. Say "continue". The commonest failures are transient, and it starts again with the whole conversation in mind. This resolves most of them.
  2. Say what you saw. If the sentence you were given mentions something specific, repeat it back with the context: the build is failing on the export screen — take a simpler approach to the spreadsheet.
  3. Ask for a smaller version of it. A request that keeps failing is usually a request that is too big. Skip the chart for now, just get the table working gets you moving, and the chart can come after.
  4. Go back and take another run at it. Restore the version from before the attempt and describe it differently. See Going back.

Failures that are not the builder's fault#

The application will not start. Its container may have been stopped. Start application in the application menu.

A deployment failed. The version did not build in the deployment environment. Nothing was replaced — the previous version is still serving. Fix the problem in the preview, save a version and deploy that.

An integration test failed. That is a credentials problem, not a build problem. See Integrations.

The build stopped when Desifex did. If we restart the platform while your build is part-way through — a release, usually — that build stops where it stood, and you are told so rather than left watching it. What it had already written is committed and saved as a version, like any other run. Say continue and it picks the work up again.

When to ask us#

Ask when:

  • the same failure has happened three times;
  • a build fails immediately, every time, with no work done;
  • the sentence you are given does not describe anything you asked for.

We can see the whole build, including the parts the interface deliberately does not show, and escalate it. That is what those endpoints exist for.