Metal builder stuck before build scheduling
buselco
HOBBYOP

a month ago

This appears similar to the existing “scheduling build on Metal builder” reports, but this is a current reproducible incident affecting three consecutive staging deployments on builder builder-fstdwd.

Railway project fortunate-charm, environment staging, service google-maps-calls cannot schedule builds on Metal builder builder-fstdwd.

Three deployments from the same unchanged candidate failed before source checkout or build execution:

  • 589cba1e-1478-4209-8dfb-3361c689b228 — 2026-09-15 06:49:33Z
  • f09529e0-b489-447b-ab60-efd5c6fa51e6 — 2026-09-15 06:51:46Z
  • 619a2a02-9a93-4a74-adec-302430b1f46a — 2026-09-15 07:07:06Z

All three stop at:

scheduling build on Metal builder "builder-fstdwd"

No repository checkout, Railpack/Docker build, npm install, application build, migration or startup output appears.

Source candidate:

d96ba91b731ab2292fe484e4bb82c6292c84ead3

Configuration remained unchanged:

  • root: backend
  • runtime: V2
  • builder: RAILPACK
  • no custom build/start command

The previous successful deployment bde06395-a8dd-46d8-8124-3ed91c9def6f remains active and healthy. /health returns HTTP 200.

Could you please confirm whether builder-fstdwd or the Metal build scheduler for this project/environment is currently unhealthy, and advise whether Railway can reschedule this service onto a healthy builder or if any project-side action is required from us?

We intentionally stopped retrying after three identical failures.

Solved

4 Replies

Railway
BOT

a month ago

All three deployments failed at the BUILD_IMAGE step in about 2 seconds with the error: Root directory "backend" was not found in the deployed source. The builder is not stuck or unhealthy. The build was rejected before it reached the builder because the backend directory does not exist at the root of the deployed commit on the integration/mapcaller-accepted-baseline branch. Verify that the branch still contains a backend directory at its root, or update the root directory in your service settings to match the repository structure at that commit.


Status changed to Awaiting User Response Railway • about 1 month ago


Railway

All three deployments failed at the BUILD_IMAGE step in about 2 seconds with the error: `Root directory "backend" was not found in the deployed source`. The builder is not stuck or unhealthy. The build was rejected before it reached the builder because the `backend` directory does not exist at the root of the deployed commit on the `integration/mapcaller-accepted-baseline` branch. Verify that the branch still contains a `backend` directory at its root, or update the root directory in your service settings to match the repository structure at that commit.

buselco
HOBBYOP

a month ago

Thanks. I still need help because the diagnosis appears inconsistent with the actual Git repository state.

I verified the repository directly on GitHub.

The backend/ directory exists at the repository root in BOTH exact commits:

Candidate:

d96ba91b731ab2292fe484e4bb82c6292c84ead3

Canonical:

4aa5fa83574724a67d27b9a670adaeea419dad2c

Therefore Root directory "backend" was not found in the deployed source does not match the actual tree for either SHA.

There is also a second discrepancy:

The failed deployments were intended to deploy the M13 candidate:

feature/m13-legal-registry-acceptance

d96ba91b731ab2292fe484e4bb82c6292c84ead3

but your response says Railway evaluated the source from:

integration/mapcaller-accepted-baseline

Could you please check which exact repository, branch/ref and commit SHA Railway actually resolved for deployment IDs:

  • 589cba1e-1478-4209-8dfb-3361c689b228
  • f09529e0-b489-447b-ab60-efd5c6fa51e6
  • 619a2a02-9a93-4a74-adec-302430b1f46a

Specifically, please confirm:

  1. repository resolved by Railway;
  2. branch/ref resolved;
  3. exact commit SHA resolved;
  4. repository root contents Railway saw;
  5. why Railway reports backend/ missing when it exists in both relevant Git trees;
  6. why the deployment appears to resolve integration/mapcaller-accepted-baseline instead of the intended M13 candidate branch.

At this point this looks like a deployment source/ref resolution issue rather than an application-code or repository-structure issue.

We have stopped further retries until the resolved source/ref is clarified.


Status changed to Awaiting Railway Response Railway • about 1 month ago


a month ago

The latest failed deployment with that error is a CLI deployment, and it doesn't have a backend folder. The error message is correct, but it's slightly misleading because it mentions a repository in a CLI deployment; we will fix the misleading copy.


Status changed to Awaiting User Response Railway • about 1 month ago


brody

The latest failed deployment with that error is a CLI deployment, and it doesn't have a `backend` folder. The error message is correct, but it's slightly misleading because it mentions a repository in a CLI deployment; we will fix the misleading copy.

buselco
HOBBYOP

a month ago

Thanks — this resolved the issue.

Your diagnosis was correct: our Railway CLI deployment was using backend/ itself as the archive root while the service already had Root Directory = backend.

We corrected the deployment context and uploaded from the repository root instead, keeping the Railway service configuration unchanged.

The new deployment completed successfully:

0a993dde-42db-48b8-82e1-dde0b6e88ed5

The application started normally and /health now returns HTTP 200.

Thank you for identifying the CLI source-root issue. Your clarification that this was a CLI deployment, rather than a Git repository deployment, was especially helpful.

Also, thank you for noting the misleading repository wording in the original error message — improving that message should make this kind of issue much easier to diagnose in the future.

Great support, much appreciated.


Status changed to Awaiting Railway Response Railway • about 1 month ago


Status changed to Solved Railway • about 1 month ago


Welcome!

Sign in to your Railway account to join the conversation.

Loading...