Matched signals
- artifact upload failed
- failed to upload artifact
- Error uploading
- artifact not found
- No artifact found
- Unable to find artifact
- No files were found with the provided path
- No artifacts will be uploaded
CI artifact upload or download failed
What this failure means
A CI job failed to upload a build artifact, or a downstream job failed to download an artifact produced by an earlier job. Pipeline stages that depend on the artifact cannot proceed.
Symptoms
Faultline looks for one or more of these log fragments:
artifact upload failed
failed to upload artifact
Error uploading
artifact not found
No artifact found
Unable to find artifact
No files were found with the provided path
No artifacts will be uploaded
Diagnosis
A CI job failed to upload a build artifact, or a downstream job failed to download an artifact produced by an earlier job. Pipeline stages that depend on the artifact cannot proceed.
Fix steps
- Check whether the producing job actually ran and exited zero before the upload step.
- Verify the artifact path glob matches the actual output location (e.g.,
dist/**vsbuild/dist/**). - For GitHub Actions: if the log says
No files were found with the provided path, resolve the path from the repository root or upload from an absolute path that exists in the runner’s filesystem. - For GitHub Actions container jobs: confirm the upload step can see the build output path from the host runner context, not just from inside the container.
- For GitLab CI: verify
artifacts.pathspoints at files produced by the job and check whether the runner or coordinator is rejecting the upload. - For CircleCI: confirm
store_artifactspath matches the actual build output directory. - For Jenkins: check Archivable artifacts path in the post section of the Jenkinsfile.
Validation
- Re-run the failing workflow step.
- Confirm the original failure signature for CI artifact upload or download failed is gone.
Why it matters
Artifact failures occur when: storage quota is exceeded, the upload step was skipped because an early step failed, the artifact name or path pattern does not match the files produced, the upload step runs from a different working directory or filesystem view than the build step, or the CI coordinator rejects the upload request.
Prevention
- Always upload artifacts in an
if: always()(GitHub Actions) orwhen: always(GitLab) block so they are preserved even when tests fail. - Use explicit, stable artifact names rather than glob patterns to prevent accidental mismatches.
- Resolve upload paths from the repository root and add a pre-upload
ls -R <path>check for critical artifacts. - Monitor artifact storage usage to avoid hitting quota limits.
- For large artifacts, consider uploading to an external store (S3, GCS, Azure Blob) and passing the URL downstream rather than using the CI platform’s artifact storage.
Try it locally
ls -R dist build out
ls -R dist build out
How Faultline detects it
Use faultline explain artifact-upload-failure to see the full playbook.
faultline analyze build.log
faultline explain artifact-upload-failure
Generated from playbooks/bundled/log/ci/artifact-upload-failure.yaml. Do not edit directly.