From dcf97cf1820ef3fd0d015c5dc1a5761ea00e6e6e Mon Sep 17 00:00:00 2001 From: paugier Date: Mon, 17 Jun 2024 11:15:58 +0200 Subject: [PATCH] Apptainer: doc --- doc/apptainer/README.md | 13 ++++++++++--- doc/apptainer/hgrc | 32 ++++++++++++++++++++++++++++++++ doc/apptainer/image-fluidsim.def | 11 ++++++++--- doc/build-from-source.md | 9 +++++++++ 4 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 doc/apptainer/hgrc diff --git a/doc/apptainer/README.md b/doc/apptainer/README.md index f0b2dedd..45b1f2b0 100644 --- a/doc/apptainer/README.md +++ b/doc/apptainer/README.md @@ -1,8 +1,15 @@ -# Install Fluidsim from source in a Apptainer container +# Install Fluidsim from source in an Apptainer container + +The directory `fluidsim/doc/apptainer` contains what is needed to run Fluidsim with Apptainer. ## Build the image locally on a node +From the host: + ```sh +mkdir ~/apptainer +cd ~/apptainer +wget https://foss.heptapod.net/fluiddyn/fluidsim/-/raw/topic/default/apptainer/doc/apptainer/image-fluidsim.def apptainer build image-fluidsim.sif image-fluidsim.def ``` @@ -11,12 +18,12 @@ apptainer build image-fluidsim.sif image-fluidsim.def From the host: ```sh -mkdir -p ~/apptainer_dir/home +cd ~/apptainer apptainer shell --no-home image-fluidsim.sif ``` From the container: ```sh -export HOME=$HOME/apptainer_dir/home +... ``` diff --git a/doc/apptainer/hgrc b/doc/apptainer/hgrc new file mode 100644 index 00000000..2fb5d960 --- /dev/null +++ b/doc/apptainer/hgrc @@ -0,0 +1,32 @@ +[ui] +# TODO: correct this line. +username=user_apptainer +editor=nano +# another alternative +# editor=emacs -nw -Q +tweakdefaults = True +ignore = ~/.hgignore + +[alias] +lg = log -G +up = up -v + +[extensions] +hgext.extdiff = +# only to use Mercurial with GitHub and Gitlab +hggit = +# specific extension for FluidDyn dev +hgfluiddyn = +# more advanced extensions (really useful for FluidDyn dev) +churn = +shelve = +rebase = +absorb = +evolve = +topic = + +[extdiff] +cmd.meld = + +# [subrepos] +# git:allowed = true diff --git a/doc/apptainer/image-fluidsim.def b/doc/apptainer/image-fluidsim.def index ff2e4491..d39f211c 100644 --- a/doc/apptainer/image-fluidsim.def +++ b/doc/apptainer/image-fluidsim.def @@ -3,7 +3,7 @@ From: python:3.11 %post apt-get -y update - apt-get -y install mercurial git less meld + apt-get -y install mercurial git less meld nano apt-get install -y --no-install-recommends \ libfftw3-dev libfftw3-mpi-dev openmpi-bin libhdf5-openmpi-dev libopenblas-dev @@ -17,11 +17,16 @@ From: python:3.11 pipx install pdm pipx install nox + wget https://foss.heptapod.net/fluiddyn/fluidsim/-/raw/topic/default/apptainer/doc/apptainer/hgrc -O ~/hgrc + +%startscript + mkdir -p home + %environment export LC_ALL=C export PATH=/root/.local/bin:$PATH - -# %runscript + export HOME=$HOME/apptainer/home + export HGRCPATH=/root/hgrc %labels Author Pierre Augier diff --git a/doc/build-from-source.md b/doc/build-from-source.md index bf117abd..1e489309 100644 --- a/doc/build-from-source.md +++ b/doc/build-from-source.md @@ -291,6 +291,15 @@ export MESONPY_EDITABLE_VERBOSE=1 See https://meson-python.readthedocs.io/en/latest/how-to-guides/editable-installs.html#verbose-mode +## Installation with Apptainer + +```{toctree} +--- +maxdepth: 1 +--- +apptainer/README.md +``` + [conda-forge]: https://conda-forge.org/ [evolve]: https://www.mercurial-scm.org/doc/evolution/ [mercurial]: https://www.mercurial-scm.org/