Make "Nothing to be done for 'all'" in CI
make believes there is nothing to build for the requested target. Either it is running in the wrong directory, the tree was never configured/generated, or the targets are genuinely up to date - but in CI it usually means the build never actually ran.
What this error means
A build step prints "make: Nothing to be done for 'all'" and exits 0, yet no binaries appear and later steps fail because the artifacts are missing. The "success" is misleading.
make: Nothing to be done for 'all'.Common causes
Running make in the wrong directory
make found a Makefile (or none, falling back) whose all target has no prerequisites here - often because the real build lives in a subdirectory or a separate build tree.
Tree not configured / generator not run
For CMake/autotools projects, make must run in the generated build directory. Running it in the source root before configuring leaves nothing wired up.
How to fix it
Configure, then build the build directory
Generate the build tree first and run make (or cmake --build) against it.
cmake -S . -B build
cmake --build build # not "make" in the source rootRun make in the correct directory or target
- Confirm where the real Makefile/build tree is and
cdthere (or usemake -C build). - Name the actual target if
allis empty (e.g.make app). - Force a clean rebuild to confirm the build wiring with
make clean && make.
How to prevent it
- Build via
cmake --build <dir>so the build directory is unambiguous. - Run
make -C <build-dir>rather than relying on the current directory. - Assert expected artifacts exist after the build step to catch silent no-ops.