I’m somewhat confused as to how the caches and test results are stored. I have the directories locally and they’re empty. What I don’t understand is where exactly are the test results and cache files saved? Obviously they aren’t saved locally or anything.
Do I need to move the test-results file over in my Dockerfile? I have it create the directory in my circleci config but i still see these messages:
Unable to save test results from /app/test-results
Error stat /app/test-results: no such file or directory
Found no path with test results, skipping
Uploading /app/test-results to app/test-results
No artifact files found at /app/test-results
And my config:
version: 2
jobs:
build:
working_directory: /app
docker:
- image: bayesimpact/circleci
steps:
- checkout
- setup_remote_docker
- restore_cache: # restores saved depdendency cache if Branch key template or requirements haven't changed
keys:
- v1-{{ .Branch }}-{{ checksum "requirements/test.txt" }}
- v1-{{ .Branch }}-dependencies
- run:
name: Install dependencies
command: |
pip3 install virtualenv
python3 -m venv venv
. venv/bin/activate
pip3 install --upgrade pip setuptools
pip3 install -r requirements/test.txt
- save_cache: # save dependency cache
key: v1-{{ .Branch }}-{{ checksum "requirements/test.txt" }}
paths:
- ./venv
- restore_cache: # restore saved docker image cache if hasn't changed
keys:
- v1-{{ .Branch }}
paths:
- /caches/app.tar
- run:
name: Load Docker image layer cache
command: |
set +o pipefail
docker load -i /caches/app.tar | true
- run:
name: Build application Docker image
command: |
docker build --cache-from=app -t app -f Dockerfile.test .
- run:
name: Save Docker image layer cache
command: |
mkdir -p /caches
docker save -o /caches/app.tar app
- save_cache: # save docker image cache
key: v1-{{ .Branch }}-{{ epoch }}
paths:
- /caches/app.tar
- run:
name: Build compose
command: |
docker-compose -f docker-compose.test.yml build
- run:
name: Run tests
command: |
docker-compose -f docker-compose.test.yml up
- store_test_results:
path: test-results
- store_artifacts:
path: test-results
I think I figured it out though. Now I’m just having trouble with the testing.