CircleCI Test Splitting "no timing data found"
Splitting tests by timing needs historical timing data, which comes from store_test_results on prior runs. Without it (first run, missing results, or changed paths), CircleCI falls back to a less balanced name-based split.
What this error means
The split step warns that no timing data was found and falls back to splitting by name or filesize, producing uneven parallel shards.
circleci
WARNING: no timing data found for this job. Falling back to splitting
by name. Add store_test_results to record timings for future runs.Common causes
First run on the branch
There is no prior timing data to balance against yet.
store_test_results not configured
Without storing results, timings are never recorded for future splits.
Test path or filter changed
Changing which tests are matched can invalidate prior timing buckets.
How to fix it
Record timings with store_test_results
Emit JUnit results and store them so future runs split by timing.
.circleci/config.yml
steps:
- run:
command: |
TESTFILES=$(circleci tests glob "test/**/*.spec.js" | circleci tests split --split-by=timings)
npx jest $TESTFILES --reporters=jest-junit
- store_test_results:
path: ./reportsHow to prevent it
- Always add store_test_results when splitting by timings.
- Keep the test glob stable so timing buckets persist.
- Expect the first run to fall back to name-based splitting.
Related guides
CircleCI save_cache Path Does Not ExistFix CircleCI save_cache warnings when a path does not exist - the directory was never created, has a differen…
CircleCI persist_to_workspace "no such file or directory"Fix CircleCI persist_to_workspace errors when a path has no such file - the artifact was not produced, the pa…
CircleCI "matrix parameters must be declared" ErrorFix CircleCI matrix errors where matrix parameters are not declared on the target job - every matrix key must…