I’m having trouble understanding how to use the new run cache in a continuous integration context.
From what I gathered it’s supposed to work as follows:
-
git commit&git pushsome changes to my code - The CI-Pipeline is started, it executes a
dvc reproand trains the new model - After model training, the CI-Pipeline executes a
dvc push --run-cache- The newly trained model, and all other outputs tracked by dvc are pushed to the dvc remote
- On my local machine, I execute
dvc pull --run-cache(without any changes to my localdvc.lockfile)- I’m expecting the newly trained model and all other dvc outputs to appear in my working directory?
But instead of the files from the run cache appearing in my working dir, I still get the outputs corresponding to my (old, local) dvc.lock file.
Am I missing something here, or am I using the commands wrong?
In case my expectations are correct I can try to provide a minimal example or more debug information for my current setup.
When I manually copy the (new) dvc.lock from the runner and paste it into my local machine, I’m able to dvc pull from the dvc remote and get the expected outputs.
But from what I understood, it shouldn’t be necessary anmyore to git add dvc.lock && git commit from inside the runner for every experiment?
Thanks in advance,
Rabefabi