Update guide#
Eradiate receives continuous updates. The use of submodules and locked Python dependencies requires some care managing updates. This page provides guidelines to help with this process.
Updating the source code#
In the cloned source directory, pull the latest update from GitHub:
cd $ERADIATE_SOURCE_DIR
git pull
Unfortunately, pulling from the main repository won’t automatically keep the submodules in sync, which can lead to various problems. After pulling the repository itself, it is essential to update the submodules. This is done using the following command in the cloned source directory:
git submodule update --init --recursive
Aliasing the update command for convenience
The following command installs a git alias named pullall
that automates
these two steps.
git config --global alias.pullall '!f(){ git pull "$@" && git submodule update --init --recursive; }; f'
Afterwards, simply write
git pullall
to fetch the latest version of Eradiate and the appropriate versions of its nested submodules.
The --init
flag will ensure that any new submodule will be initialised.
Rebuilding the kernel#
After updating, it’s always better to rebuild the kernel:
cd $ERADIATE_SOURCE_DIR
cmake --build build
Updating your Conda environment#
After updating the source code, an update of your Conda environment might be
necessary. In that case, the conda-init
target can be used:
cd $ERADIATE_SOURCE_DIR
make conda-init
If something goes wrong during that process, an environment reset should solve most issues (see Setting up the Conda environment).
Update data files#
Optionally, you may want to make sure that the data files you’ll use are up-to-date. For that purpose, you can refresh remote file registries and purge Eradiate’s data cache:
eradiate data update-registries
eradiate data purge-cache --keep
Note
For a more aggressive cleanup, just run
eradiate data purge-cache