eic-shell

EIC software environment container utilities

Running in browser

Open in GitHub Codespaces

Local Installation

The environment has been tested on linux (requires singularity v3+ or apptainer v1+) and MacOS (requires docker)

Please follow the steps below to setup and run the container in your environment.

  1. Create a local directory that you want to work in, e.g $HOME/eic, and go into this directory.
    mkdir $HOME/eic
    cd $HOME/eic
    
  2. Execute the following line in your terminal to setup your environment in this directory to install the latest stable container
    curl -L https://github.com/eic/eic-shell/raw/main/install.sh | bash
    
  3. You can now load your development environment by executing the eic-shell script that is in your top-level working directory.
    ./eic-shell
    
  4. Within your development environment (eic-shell), you can install software to the internal prefix $EIC_SHELL_PREFIX

Installation for Development Usage

Note: this container download script is meant for expert usage. If it is unclear to you why you would want to do this, you are probably looking for the simple installation above.

You can use the same install scripts to setup other container setups, including eic_dev (the main development container). Note that for eic_dev there is no nighlty release, and the appropriate version (tag) would be testing. To setup the eic_dev:testing environment, do

curl -L https://github.com/eic/eic-shell/raw/main/install.sh | bash -s -- -c eic_dev -v testing

Included software:

Using the docker container for your CI purposes

These instructions are old and need updating. In general we recommend using eicweb/juggler:latest for most CI usages. This image is functionally identical to eic_xl:nightly

The docker containers are publicly accessible from Dockerhub. You probably want to use the default eic_xl container. Relevant versions are:

  1. To load the container environment in your run scripts, you have to do nothing special.
    The environment is already setup with good defaults, so you can use all the programs in the container as usual and assume everything needed to run the included software is already setup.

  2. If using this container as a basis for a new container, you can direction access the full container environment from a docker RUN shell command with no further action needed. For the most optimal experience, you can install your software to /usr/local to fully integrate with the existing environment.