cedadev / ceda-jaspy-envs

Conda (Jaspy) environments for CEDA/JASMIN
BSD 2-Clause "Simplified" License
5 stars 0 forks source link

January 2021 Release #55

Closed agstephens closed 3 years ago

agstephens commented 3 years ago

We will document the process of creating the 2021 release here:

Server (internal): 192.168.3.20

This machine has only a private IP, so must be accessed via another machine in the ceda dev tenancy as ssh gateway (not posting their IPs publicly here, check in the cloud portal).

agstephens commented 3 years ago

Clone repos

cd ~root/
git clone git@github.com:cedadev/jaspy-manager.git
cd jaspy-manager/

export JASPY_BASE_DIR=/appx/jasmin

Add latest miniconda (at 3.7)

Edit ./etc/minicondas.json file to include the latest miniconda binary and checksum. (Then commit and push this change.)

Run the miniconda installer:

./bin/install-miniconda.sh py3.7

...which should pick up the latest python 3.7.x

Clone and link: ceda-jaspy-envs

./bin/add-envs-repo.sh https://github.com/cedadev/ceda-jaspy-envs

Create a recipe for a new env

Copy the an old initial environment recipe to a new one:

./bin/clone-initial-env.sh <env_spec> <new_name>

where <env_spec> can be any of: the name of the existing environment, or path to the environment directory, or path to the initial.yml file inside that directory

Create environment recipe (which builds environment from initial.yml file)

./bin/create-env-recipe.sh <path_to_initial_yaml_file>

If it resolves, test that it worked

py_version=$(echo $ENV_NAME | cut -d\- -f1)
miniconda_version=$(echo $ENV_NAME | cut -d\- -f2-3)
export PATH=$JASPY_BASE_DIR/jaspy/miniconda_envs/${py_version}/${miniconda_version}/bin:$PATH

source activate $ENV_NAME
python -c 'import sys; print(sys.version)'
agstephens commented 3 years ago

Next step

Changing the environment:

  1. Unpin packages
  2. Update pinned packages (to new versions if/as required) - and comment the reason in the initial.yml file
  3. Add new packages
  4. Move pip installs to conda installs (if possible)
  5. Resolving conflicts?
agstephens commented 3 years ago

Done