Skip to content

When a build fails

A failed build is final — the job does not retry — so the useful move is to read the log, change one thing, and build again.

Expand the build row and read the log from the bottom. Each step logs a line when it starts, so the last step named is the one that failed. The error itself usually sits a few lines below it.

Almost always the icon file.

  • Not square. Launcher icons must be square. A 512×512 PNG is the safe choice.
  • Not a PNG, or a PNG with an unusual colour profile.
  • Too small. Below 512×512 the generator has nothing to scale down from.

Re-upload the icon under Settings → Appearance → App Icons and build again.

The application ID is derived from your app’s identifier and must be a valid Java package name. If your app name produced something invalid, this is where it surfaces. Rename the app to something starting with a letter and containing only letters, numbers and spaces.

A network failure fetching packages. Nothing in your configuration caused it, and building again usually works.

The compile itself. Two things reach this far:

  • A malformed setting that generated invalid Dart. A custom colour value or a font name with unusual characters is the usual culprit. Change what you edited most recently.
  • A resource conflict from a very large splash or branding image. Keep branding images under a megabyte.

The build hit its ceiling. First builds are the slowest, so a second build for the same app is usually faster because the workspace is reused. If it times out repeatedly, get in touch.

pending means the job was queued and never picked up. That is a Memberside-side problem — the queue worker is not consuming jobs — and there is nothing in your configuration to change. Get in touch.

Distinguish it from running, which is a build in progress and needs only patience.

Every attempt costs one from your allowance, so change one thing rather than several. If two changes could each be the cause, you learn more from two builds than from one build with both reverted.

Check the preview still renders after your change. A configuration that breaks the preview will not compile either, and the preview is free.

Get in touch with the build’s date and time and what you changed since the last successful build. The full log is retained server-side, including detail the builder does not display.