A deploy can fail in three different ways: it is refused before anything is built, it fails because of something in your code or settings, or it fails because of a problem on HCode's side. The message tells you which.
Where to find the reason
- The project's Overview page, for a new project's first deploy. The card is headed "Your first deploy didn't finish", "Your first deploy didn't start" or "Your first deploy was cancelled".
- The Deployments tab. Click the failed deployment to see "What went wrong", and the raw error under Technical details.
- Under the Deploy button, for a deploy that was refused when you clicked it.
Problems on the HCode side
A failure on HCode's side is marked "On our side" on the first-deploy card, with "You don't need to change your code or settings for this." Its message starts with "This one is on us" and ends by asking you to try again in a few minutes. HCode's team is alerted automatically.
| The message continues with | What happened |
|---|---|
| "something went wrong on our side while building your app" | The build machinery failed. |
| "we could not read your app's build settings on our side" | Your saved build settings couldn't be loaded. |
| "we could not check your plan's limits before building" | The plan check couldn't run, so the build didn't start. |
| "we could not check your storage and bandwidth usage, so this deploy was not started" | The usage check couldn't run. |
| "your app built, but we could not save the finished build on our side" | The build worked; saving its result failed. |
| "your app built, but we could not save its build log on our side" | The build worked; saving its log failed. |
A deploy that hangs is stopped with "This deployment stalled on our side. We've been alerted — please deploy again."
Try the deploy again after a few minutes. If the same message keeps coming back, email [email protected] with the project name and the time of the deploy.
Problems in your app
A deploy whose app built and started, then stopped with an error, is marked "Needs a fix in your app". With no more specific diagnosis, the message is "Your app started, then stopped with an error. Its runtime logs show what it printed before it stopped." See App won't start for the messages HCode gives when the app doesn't start or doesn't answer.
Most failed builds carry no badge. HCode reads the build log and shows its diagnosis as the main message, with links to the build log, the runtime logs or the setting to change. See Build failures. With no diagnosis, the message is "The first deployment failed before your app could start. The build log of the failed deploy has the details."
Deploys refused before anything was built
A refused deploy built nothing, used no build minutes and changed nothing that is running.
| Message | What to do |
|---|---|
| "Your plan doesn't have enough memory left for this app. Stop or shrink another project, or upgrade your plan." | Stop a project you don't need, or upgrade. |
| "Your plan doesn't have enough storage left for this app. Free up storage another project reserves, or upgrade your plan." | Delete a database or project you don't need, or upgrade. |
| "Your organization has used all its build minutes for now. Upgrade your plan to deploy before they reset." | Wait for the reset, or upgrade. See Build minutes. |
| "Your organization's storage use has paused new deploys. Free up space or upgrade your plan, then deploy again." | See Usage and limits. |
| "Your organization has used this month's bandwidth, so new deploys are paused until it resets. Upgrade your plan to deploy sooner." | See Usage and limits. |
| "Your plan's limits don't allow this deploy right now. Upgrade the plan, or use less of what it counts." | Check your usage on the Subscription page. |
| "Deployments are paused. Upgrade your plan to resume them." | Upgrade your plan. |
| "Deploys are paused because your organization is suspended for billing. Deploy again once its billing is sorted out." | Sort out the billing, then deploy again. See Suspended organisations. |
| "This organization has been closed, so it can't deploy. Contact support if you think this is a mistake." | Email [email protected]. |
| "This project has been suspended by the platform, so it can't deploy. Contact support to find out why." | Email [email protected]. |
| A message starting "We couldn't check your plan's limits", saying the deploy didn't start | Try again in a minute. |
| "Your role in this organization can't start deploys. Ask an admin to deploy, or to change your role." | See Roles and permissions. |
| "GitHub is busy right now, so the deploy didn't start. Try again in a minute." | Try again. |
| "We couldn't reach our servers to start the deploy. Check your connection and try again." | Check your connection, then try again. |
| "You've been signed out. Sign in again, then try again." | Sign in again. |
| "The deploy didn't start. Try again in a minute, and contact support if it keeps happening." | Try again, then email support. |
When storage or bandwidth use pauses new work, the message can instead be HCode's longer explanation, which lists exactly what is paused and says "Running sites keep serving and nothing has been stopped or deleted."
If nobody in the organisation still has access to the repository on GitHub, the deploy is refused with "Reconnect GitHub — nobody in this organization still has access to this repository." Someone with access chooses Reconnect GitHub on the project page; see Deploy from GitHub.
Plan and billing changes are made on the Subscription page by an owner or admin. Anyone else sees "Only an owner or admin of this organization can change its plan or billing, so ask one of them."
Not failures
- Queued. A deploy over your plan's number of concurrent builds waits its turn and starts on its own, for example "Queued — starts when your running build finishes."
- Cancelled. A deploy you cancelled, or one a newer deploy replaced. See Deployments.
- Already running. "A deployment is already in progress. Showing the live project state instead." means a deploy was already under way and nothing new was started.