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