Required build input file missing

A build or lint step referenced a file that was never generated, was copied to the wrong path, or is missing from the repository checkout.

build-input-file-missing medium confidence build

Matched signals

  • cp: cannot stat
  • cannot stat
  • withBinaryFile: does not exist
  • does not exist (No such file or directory)
  • {error,{enoent,
  • file not found

Required build input file missing

What this failure means

A build or lint step referenced a file that was never generated, was copied to the wrong path, or is missing from the repository checkout.

Symptoms

Faultline looks for one or more of these log fragments:

cp: cannot stat
cannot stat
withBinaryFile: does not exist
does not exist (No such file or directory)
{error,{enoent,
file not found

Diagnosis

The failing command started normally, but one of the files it expected to read or copy was not present at the referenced path.

Common causes:

  • a generated file was not created before the step ran
  • a path changed in the repository without updating the build script
  • a cache or artifact restore step did not populate the expected file
  • the file exists locally but is not committed or not included in the CI context

Fix steps

  1. Identify the exact missing path from the failing line.

  2. Confirm whether the file should be committed, generated, restored from cache, or copied from another job.

  3. Add a directory listing immediately before the failing step to verify the expected file layout:

    pwd
    ls -R <parent-directory>
    
  4. If the file is generated, ensure the generation step runs earlier in the same job.

  5. If the file comes from artifacts or caches, verify the producing job publishes it and the consuming job restores it to the same path.

Validation

  • Re-run the build or lint step after restoring or generating the missing file.
  • Confirm the referenced path exists in the CI workspace before the failing command starts.

Why it matters

Missing build inputs waste CI time because the job reaches the failing command before discovering that a prerequisite file never arrived.

Prevention

  • Keep generated-file paths explicit in build scripts and workflows.
  • Add a cheap existence check for critical inputs before expensive build stages.
  • Version the producer and consumer of generated artifacts together so path changes do not drift.

Try it locally

pwd
ls -R <parent-directory>
ls -l <missing-path>

How Faultline detects it

Use faultline explain build-input-file-missing to see the full playbook.

faultline analyze build.log
faultline explain build-input-file-missing

Generated from playbooks/bundled/log/build/build-input-file-missing.yaml. Do not edit directly.

Try it on your own failed log

$ faultline analyze failed.log
Want this across every CI run? Faultline Teams tracks recurring failures across all your repos and surfaces patterns in a shared dashboard.