Matched signals
- no files found with the provided path
- Artifact not found
- Skipping upload
- No matching files were found
- Path does not exist
- 0 files uploaded
- no artifacts
Artifact upload step ran but no files were found
What this failure means
An artifact upload step was executed but reported that no files matched the configured path. The CI job continued and marked itself as passing even though no artifact was produced.
Symptoms
Faultline looks for one or more of these log fragments:
no files found with the provided path
Artifact not found
Skipping upload
No matching files were found
Path does not exist
0 files uploaded
no artifacts
Diagnosis
CI artifact upload steps (GitHub Actions actions/upload-artifact, GitLab
CI artifacts.paths, CircleCI store_artifacts, etc.) skip the upload
when no files match the provided path pattern. By default these steps exit
zero and allow the job to continue, creating a misleading green status while
no artifact is available for downstream consumers.
Common causes:
- The build step that was supposed to produce the artifact failed silently
(possibly also due to
|| trueorcontinue-on-error). - The artifact path glob is incorrect: a relative vs absolute path mismatch, a missing intermediate directory, or a wrong file extension.
- The build was run in a Docker container but the upload step runs on the host and the output path is not shared.
- A conditional
if:expression skipped the build step but the upload step still ran.
Fix steps
- Confirm the build step that produces the artifact actually ran and exited zero.
- Print the working directory and check the expected output path:
ls -la <expected artifact path> - Adjust the artifact path glob to match the actual output location.
- For GitHub Actions: resolve paths from the repository root or use absolute
paths. Use a
if: always()guard only when intentionally capturing artifacts from failing jobs. - Add a pre-upload assertion that the artifact exists:
- run: test -f dist/app.tar.gz
Validation
Re-run the job and confirm the upload step reports “Uploading N files” with a positive file count.
Try it locally
Run the build step locally and verify the artifact path exists
ls -la <artifact path>
How Faultline detects it
Use faultline explain artifact-missing to see the full playbook.
faultline analyze build.log
faultline explain artifact-missing
Generated from playbooks/bundled/log/silent/artifact-missing.yaml. Do not edit directly.