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