From 9a10945a56b7c9a194b73cbb33d413e9d9bdf4ab Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Thu, 19 Mar 2026 12:22:41 +0000 Subject: [PATCH 1/5] Exit on error in run scripts... --- run-quick.sh | 1 + run.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/run-quick.sh b/run-quick.sh index 8d78b6f..4ccbe84 100755 --- a/run-quick.sh +++ b/run-quick.sh @@ -1,4 +1,5 @@ #!/bin/bash +set -ex #from: https://unix.stackexchange.com/a/129401 while getopts ":d:p:" opt; do diff --git a/run.sh b/run.sh index 908b2e3..a03022e 100755 --- a/run.sh +++ b/run.sh @@ -1,4 +1,5 @@ #!/bin/bash +set -ex #from: https://unix.stackexchange.com/a/129401 while getopts ":d:p:" opt; do From d8991d8ea9560941f75785b32fe8a6ab866472c0 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Thu, 19 Mar 2026 13:07:42 +0000 Subject: [PATCH 2/5] Test no xhost --- .gitignore | 5 +++++ run-quick.sh | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 676e1f4..70798ee 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,8 @@ output/C2* /output/siminfo.py /output/wor* /output/Sibernetic_* +/output/W2D* +/output/alone* +/output/cube* +/output/deep* +/output/master* diff --git a/run-quick.sh b/run-quick.sh index 4ccbe84..0e9db7c 100755 --- a/run-quick.sh +++ b/run-quick.sh @@ -17,7 +17,7 @@ OW_OUT_DIR=/home/ow/shared HOST_OUT_DIR=$PWD version=$( Date: Thu, 19 Mar 2026 13:28:23 +0000 Subject: [PATCH 3/5] Test no xhost; check large enough file exists --- .github/workflows/docker-image-quickrun.yml | 2 ++ .github/workflows/docker-image.yml | 3 +++ run-quick.sh | 2 +- run.sh | 2 +- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-image-quickrun.yml b/.github/workflows/docker-image-quickrun.yml index 6a74d9b..5f09fa1 100644 --- a/.github/workflows/docker-image-quickrun.yml +++ b/.github/workflows/docker-image-quickrun.yml @@ -31,3 +31,5 @@ jobs: ls -alth ls -alth output ls -alth output/* + + find output/Siber*/cut*mp4 -maxdepth 1 -size +300k # Fails if not found or too small diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 5b04189..c882394 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -33,3 +33,6 @@ jobs: ls -alth output/* more output/*/report.json + + find output/C2_FW*/cut*mp4 -maxdepth 1 -size +300k # Fails if not found or too small + diff --git a/run-quick.sh b/run-quick.sh index 0e9db7c..74b49b0 100755 --- a/run-quick.sh +++ b/run-quick.sh @@ -17,7 +17,7 @@ OW_OUT_DIR=/home/ow/shared HOST_OUT_DIR=$PWD version=$( Date: Thu, 19 Mar 2026 13:48:39 +0000 Subject: [PATCH 4/5] Better checks if files exist --- .github/workflows/docker-image-quickrun.yml | 2 +- .github/workflows/docker-image.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-image-quickrun.yml b/.github/workflows/docker-image-quickrun.yml index 5f09fa1..443309e 100644 --- a/.github/workflows/docker-image-quickrun.yml +++ b/.github/workflows/docker-image-quickrun.yml @@ -32,4 +32,4 @@ jobs: ls -alth output ls -alth output/* - find output/Siber*/cut*mp4 -maxdepth 1 -size +300k # Fails if not found or too small + find output/Siber*/cut*mp4 -maxdepth 1 -size +200k | grep -q . # Fails if not found or too small diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index c882394..aa0dd48 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -34,5 +34,5 @@ jobs: more output/*/report.json - find output/C2_FW*/cut*mp4 -maxdepth 1 -size +300k # Fails if not found or too small + find output/C2_FW*/cut*mp4 -maxdepth 1 -size +300k | grep -q . # Fails if not found or too small From dbd5b139a9742b60344a7eb33505b19c02c453d0 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Thu, 19 Mar 2026 13:59:11 +0000 Subject: [PATCH 5/5] Update intel docker to ubuntu:24.04 --- Dockerfile_intel | 46 +++++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/Dockerfile_intel b/Dockerfile_intel index e8c5291..fe9636c 100644 --- a/Dockerfile_intel +++ b/Dockerfile_intel @@ -1,4 +1,4 @@ -FROM ubuntu:22.04 +FROM ubuntu:24.04 LABEL maintainer="David Lung (lungdm@gmail.com); Padraig Gleeson (p.gleeson@gmail.com)" @@ -18,42 +18,40 @@ RUN mkdir -p /etc/sudoers.d && \ chmod 0440 /etc/sudoers.d/$USER && \ chown ${uid}:${gid} -R /home/$USER -ENV DEBIAN_FRONTEND noninteractive # TODO: change +ENV DEBIAN_FRONTEND=noninteractive ################################################################################ ######## Update/install essential libraries -RUN apt-get update && apt-get install -y --no-install-recommends apt-utils \ +RUN apt-get update +RUN apt-get install -y --no-install-recommends apt-utils \ wget nano htop build-essential make git automake autoconf \ - g++ rpm libtool libncurses5-dev zlib1g-dev bison flex lsb-core \ + g++ rpm libtool libncurses5-dev zlib1g-dev bison flex \ sudo xorg openbox x11-xserver-utils \ - libxext-dev libncurses-dev python3-dev mercurial \ - freeglut3-dev libglu1-mesa-dev libglew-dev python3-dev python3-pip python3-lxml python3-scipy python3-tk \ + libxext-dev libncurses-dev mercurial \ + freeglut3-dev libglu1-mesa-dev libglew-dev python3-dev python3-pip \ kmod dkms linux-source linux-headers-generic \ maven openjdk-8-jdk \ - python3-setuptools python3-yaml libnuma1 \ + libnuma1 \ openmpi-bin libopenmpi-dev \ - libgl1-mesa-glx libgl1-mesa-dri libfreetype6-dev \ - libxft-dev python3-matplotlib unzip ffmpeg xvfb tmux + libgl1 libglx-mesa0 libgl1-mesa-dri libfreetype6-dev \ + libxft-dev unzip ffmpeg xvfb tmux #RUN sudo pip install --upgrade pip RUN sudo usermod -a -G video $USER #USER $USER -ENV HOME /home/$USER +ENV HOME=/home/$USER WORKDIR $HOME -#### TODO: check that this is the best way to switch to py3... -RUN sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10 -RUN sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 10 ################################################################################ ######## Install NEURON simulator -RUN pip3 install neuron==8.2.6 +RUN sudo pip install neuron==8.2.6 --break-system-packages ################################################################################ @@ -61,13 +59,11 @@ RUN pip3 install neuron==8.2.6 RUN git clone https://github.com/openworm/c302.git && \ cd c302 && \ - git checkout ow-0.9.5 && \ - sudo pip install . + git checkout ow-0.9.7 && \ + sudo pip install . --break-system-packages # Note: pyNeuroML installed with the above library -RUN pip3 install owmeta-core==0.13.5 -RUN owm bundle remote --user add ow 'https://raw.githubusercontent.com/openworm/owmeta-bundles/master/index.json' ################################################################################ @@ -75,7 +71,13 @@ RUN owm bundle remote --user add ow 'https://raw.githubusercontent.com/openworm/ RUN git clone https://github.com/openworm/sibernetic.git && \ cd sibernetic && \ - git checkout ow-0.9.5 # fixed to a specific branch + git checkout ow-0.9.7 # fixed to a specific branch + + +################################################################################ +######## Install extra Python dependencies + +RUN sudo pip install ruff --break-system-packages ################################################################################ @@ -83,7 +85,9 @@ RUN git clone https://github.com/openworm/sibernetic.git && \ ENV C302_HOME=$HOME/c302/c302 ENV SIBERNETIC_HOME=$HOME/sibernetic -ENV PYTHONPATH=$PYTHONPATH:$HOME/c302:$SIBERNETIC_HOME +ENV PYTHONPATH=$HOME/c302:$SIBERNETIC_HOME + +ENV NEURON_MODULE_OPTIONS=-nogui ################################################################################ @@ -124,7 +128,7 @@ RUN cd sibernetic && \ COPY ./master_openworm.py $HOME/master_openworm.py RUN sudo chown $USER:$USER $HOME/master_openworm.py -RUN echo '\n\nalias cd..="cd .."\nalias h=history\nalias ll="ls -alt"' >> ~/.bashrc +RUN printf '\n\nalias cd..="cd .."\nalias h=history\nalias ll="ls -alth"\n' >> ~/.bashrc RUN pip list