From a0379501ea8a3a90db68e2dc65e77cf6dd664387 Mon Sep 17 00:00:00 2001 From: Brian Han Date: Mon, 6 Jul 2026 07:48:16 -0700 Subject: [PATCH 01/10] Update symlinks to point to shaping_tutorial --- scripts/docker/dockerfile_gcc-13_vscode | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/scripts/docker/dockerfile_gcc-13_vscode b/scripts/docker/dockerfile_gcc-13_vscode index a22d134245..bf56c8abf8 100644 --- a/scripts/docker/dockerfile_gcc-13_vscode +++ b/scripts/docker/dockerfile_gcc-13_vscode @@ -71,15 +71,8 @@ RUN wget https://github.com/visit-dav/visit/releases/download/v3.4.2/visit3_4_2. && ./visit-install3_4_2 -c none 3.4.2 linux-x86_64-ubuntu24 ${HOME}/visit \ && rm -rf visit-install3_4_2 visit3_4_2.linux-x86_64-ubuntu24.tar.gz -# Larger STL meshes for testing (optional) -# Note: These meshes are large, copied from local directory instead of -# downloaded from Github. -# COPY boxedSphere.stl car.stl porsche.stl ${HOME}/axom_repo/data/quest - - # Create symlinks for easy access to tutorial material (optional) -# RUN ln -s ${HOME}/axom_repo/install-release/examples/axom/radiuss_tutorial/ ${HOME}/radiuss_tutorial \ -# && ln -s ${HOME}/axom_repo/data/quest ${HOME}/radiuss_tutorial/stl_meshes +RUN ln -s ${HOME}/axom_repo/install-release/examples/axom/shaping_tutorial/ ${HOME}/shaping_tutorial USER root ADD ./scripts/docker/supervisord.conf /etc/supervisord.conf From 84c22d75f04a4f896db658e2134f1fedd3194c53 Mon Sep 17 00:00:00 2001 From: Brian Han Date: Tue, 7 Jul 2026 09:35:20 -0700 Subject: [PATCH 02/10] Build only tutorial to reduce image size and generation time --- scripts/docker/dockerfile_gcc-13_vscode | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scripts/docker/dockerfile_gcc-13_vscode b/scripts/docker/dockerfile_gcc-13_vscode index bf56c8abf8..fb0ce6d04f 100644 --- a/scripts/docker/dockerfile_gcc-13_vscode +++ b/scripts/docker/dockerfile_gcc-13_vscode @@ -1,4 +1,4 @@ -# Docker image for Axom tutorial. +# Docker image for Axom shaping tutorial. # Docker container runs a VS Code server accessible through a web browser. # Docker and openvscode setup based on the RAJA suite tutorial: # https://github.com/LLNL/raja-suite-tutorial/tree/main/containers/tutorial @@ -50,6 +50,7 @@ RUN cd ${HOME}/axom_repo && python3 ./scripts/uberenv/uberenv.py --spack-env-fil && rm -rf ${HOME}/axom_tpls/build_stage ${HOME}/axom_tpls/spack # Make sure the new hostconfig works with a release build +# Build only tutorials to reduce image generation time and overall size # Note: having high job slots causes build log to disappear and job to fail # Omit testing step, hangs at slam_lulesh unit test (same behavior for azure pipeline images, as well) # Disable link-time optimization from MPI wrapper causing linkage failures @@ -57,6 +58,11 @@ RUN cd ${HOME}/axom_repo && python3 config-build.py -hc *.cmake \ -bp ${HOME}/axom_repo/build-release \ -ip ${HOME}/axom_repo/install-release \ -bt Release \ + -DENABLE_TESTS=OFF \ + -DENABLE_EXAMPLES=OFF \ + -DENABLE_DOCS=OFF \ + -DAXOM_ENABLE_TOOLS=OFF \ + -DAXOM_ENABLE_TUTORIALS=ON \ && cd ${HOME}/axom_repo/build-release \ && make -j4 install From ab09187d4ddb60670b1cec56b4c1d09cd8a67fea Mon Sep 17 00:00:00 2001 From: Brian Han Date: Tue, 7 Jul 2026 14:48:32 -0700 Subject: [PATCH 03/10] Add dependencies for visit --- scripts/docker/dockerfile_gcc-13_vscode | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/docker/dockerfile_gcc-13_vscode b/scripts/docker/dockerfile_gcc-13_vscode index fb0ce6d04f..cbd97b3cd3 100644 --- a/scripts/docker/dockerfile_gcc-13_vscode +++ b/scripts/docker/dockerfile_gcc-13_vscode @@ -19,7 +19,8 @@ RUN sudo apt-get update -y RUN sudo apt-get install -y supervisor RUN sudo useradd --create-home --shell /bin/bash ${USER} RUN sudo apt-get install gettext gfortran-$(gcc -dumpversion) graphviz libopenblas-dev \ - lsb-release lua5.2 lua5.2-dev python3-sphinx locales ssh -fy + lsb-release lua5.2 lua5.2-dev python3-sphinx locales ssh \ + cpio libxcursor1 libxkbcommon0 -fy RUN sudo locale-gen en_US.utf8 #RUN sudo useradd -m -s /bin/bash -G sudo axom @@ -53,7 +54,6 @@ RUN cd ${HOME}/axom_repo && python3 ./scripts/uberenv/uberenv.py --spack-env-fil # Build only tutorials to reduce image generation time and overall size # Note: having high job slots causes build log to disappear and job to fail # Omit testing step, hangs at slam_lulesh unit test (same behavior for azure pipeline images, as well) -# Disable link-time optimization from MPI wrapper causing linkage failures RUN cd ${HOME}/axom_repo && python3 config-build.py -hc *.cmake \ -bp ${HOME}/axom_repo/build-release \ -ip ${HOME}/axom_repo/install-release \ From 58d4a9b680028b6c3abada8dee1f910a20f3a38f Mon Sep 17 00:00:00 2001 From: Brian Han Date: Wed, 8 Jul 2026 08:41:05 -0700 Subject: [PATCH 04/10] Add note about platforms --- scripts/docker/dockerfile_gcc-13_vscode | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/docker/dockerfile_gcc-13_vscode b/scripts/docker/dockerfile_gcc-13_vscode index cbd97b3cd3..245cb9aa3e 100644 --- a/scripts/docker/dockerfile_gcc-13_vscode +++ b/scripts/docker/dockerfile_gcc-13_vscode @@ -3,6 +3,9 @@ # Docker and openvscode setup based on the RAJA suite tutorial: # https://github.com/LLNL/raja-suite-tutorial/tree/main/containers/tutorial +# Note: For both of the Docker commands below, add --platform linux/amd64 if +# developing on Apple Silicon for deployment on x86_64 machines. + # This script can be run with the following command: # docker build --build-arg branch= -t "axom/tpls:gcc-13-vscode" - < dockerfile_gcc-13_vscode From 053ddb9e9775e184c44953a82ccdbcc8012b94bf Mon Sep 17 00:00:00 2001 From: Brian Han Date: Wed, 8 Jul 2026 09:03:23 -0700 Subject: [PATCH 05/10] Try codex suggested changes to open tutorial folder and terminal on startup --- scripts/docker/dockerfile_gcc-13_vscode | 8 +++++++ scripts/docker/openvscode-settings.json | 5 +++++ scripts/docker/shaping_tutorial-tasks.json | 26 ++++++++++++++++++++++ scripts/docker/supervisord.conf | 10 ++++----- 4 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 scripts/docker/openvscode-settings.json create mode 100644 scripts/docker/shaping_tutorial-tasks.json diff --git a/scripts/docker/dockerfile_gcc-13_vscode b/scripts/docker/dockerfile_gcc-13_vscode index 245cb9aa3e..b78dc3c809 100644 --- a/scripts/docker/dockerfile_gcc-13_vscode +++ b/scripts/docker/dockerfile_gcc-13_vscode @@ -85,7 +85,15 @@ RUN ln -s ${HOME}/axom_repo/install-release/examples/axom/shaping_tutorial/ ${HO USER root ADD ./scripts/docker/supervisord.conf /etc/supervisord.conf +ADD ./scripts/docker/openvscode-settings.json /tmp/openvscode-settings.json +ADD ./scripts/docker/shaping_tutorial-tasks.json /tmp/shaping_tutorial-tasks.json RUN sed -i "s/XXX/${USER}/g" /etc/supervisord.conf +RUN sed -i "s#XXX#${USER}#g" /tmp/openvscode-settings.json \ + && install -d -o ${USER} -g ${USER} ${HOME}/.openvscode-server/data/Machine \ + && install -d -o ${USER} -g ${USER} ${HOME}/shaping_tutorial/.vscode \ + && install -o ${USER} -g ${USER} /tmp/openvscode-settings.json ${HOME}/.openvscode-server/data/Machine/settings.json \ + && install -o ${USER} -g ${USER} /tmp/shaping_tutorial-tasks.json ${HOME}/shaping_tutorial/.vscode/tasks.json \ + && rm -f /tmp/openvscode-settings.json /tmp/shaping_tutorial-tasks.json RUN touch /var/log/openvscode-server.log && chown -R ${USER}:${USER} /var/log/openvscode-server.log diff --git a/scripts/docker/openvscode-settings.json b/scripts/docker/openvscode-settings.json new file mode 100644 index 0000000000..9f596fe182 --- /dev/null +++ b/scripts/docker/openvscode-settings.json @@ -0,0 +1,5 @@ +{ + "task.allowAutomaticTasks": "on", + "terminal.integrated.cwd": "/home/XXX/shaping_tutorial", + "terminal.integrated.defaultProfile.linux": "bash" +} diff --git a/scripts/docker/shaping_tutorial-tasks.json b/scripts/docker/shaping_tutorial-tasks.json new file mode 100644 index 0000000000..1dc4c623f4 --- /dev/null +++ b/scripts/docker/shaping_tutorial-tasks.json @@ -0,0 +1,26 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "Open login shell", + "type": "shell", + "command": "/bin/bash", + "args": [ + "-il" + ], + "options": { + "cwd": "${workspaceFolder}" + }, + "presentation": { + "reveal": "always", + "panel": "dedicated", + "focus": true, + "showReuseMessage": false, + "clear": false + }, + "runOptions": { + "runOn": "folderOpen" + } + } + ] +} diff --git a/scripts/docker/supervisord.conf b/scripts/docker/supervisord.conf index 9746046a2b..64762c31d5 100644 --- a/scripts/docker/supervisord.conf +++ b/scripts/docker/supervisord.conf @@ -5,8 +5,8 @@ user = XXX logfile = /tmp/supervisord.log - [program:openvscode-server] - environment=HOME="/home/XXX",USER="XXX" - redirect_stderr = true - stdout_logfile = /var/log/openvscode-server.log - command = /opt/archives/openvscode-server-v1.69.1-linux-x64/bin/openvscode-server --without-connection-token --host 0.0.0.0 \ No newline at end of file +[program:openvscode-server] +environment=HOME="/home/XXX",USER="XXX" +redirect_stderr = true +stdout_logfile = /var/log/openvscode-server.log +command = /opt/archives/openvscode-server-v1.69.1-linux-x64/bin/openvscode-server --without-connection-token --host 0.0.0.0 /home/XXX/shaping_tutorial From 046aa0ff8ac50132e351249d5dad64d7edb73d6b Mon Sep 17 00:00:00 2001 From: Brian Han Date: Wed, 8 Jul 2026 14:03:23 -0700 Subject: [PATCH 06/10] Try fix for folder --- scripts/docker/openvscode-settings.json | 3 +-- scripts/docker/supervisord.conf | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/docker/openvscode-settings.json b/scripts/docker/openvscode-settings.json index 9f596fe182..3a8634ece0 100644 --- a/scripts/docker/openvscode-settings.json +++ b/scripts/docker/openvscode-settings.json @@ -1,5 +1,4 @@ { "task.allowAutomaticTasks": "on", - "terminal.integrated.cwd": "/home/XXX/shaping_tutorial", - "terminal.integrated.defaultProfile.linux": "bash" + "terminal.integrated.cwd": "/home/XXX/shaping_tutorial" } diff --git a/scripts/docker/supervisord.conf b/scripts/docker/supervisord.conf index 64762c31d5..ff1ddbc1c3 100644 --- a/scripts/docker/supervisord.conf +++ b/scripts/docker/supervisord.conf @@ -9,4 +9,4 @@ environment=HOME="/home/XXX",USER="XXX" redirect_stderr = true stdout_logfile = /var/log/openvscode-server.log -command = /opt/archives/openvscode-server-v1.69.1-linux-x64/bin/openvscode-server --without-connection-token --host 0.0.0.0 /home/XXX/shaping_tutorial +command = /opt/archives/openvscode-server-v1.69.1-linux-x64/bin/openvscode-server --without-connection-token --disable-telemetry --host 0.0.0.0 --default-folder /home/XXX/shaping_tutorial From d9aaabc0da818924a193cf25bf489f4bc5f190f2 Mon Sep 17 00:00:00 2001 From: Brian Han Date: Wed, 8 Jul 2026 14:47:16 -0700 Subject: [PATCH 07/10] Try newer openvscode-server version --- scripts/docker/dockerfile_gcc-13_vscode | 9 ++++++--- scripts/docker/supervisord.conf | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/scripts/docker/dockerfile_gcc-13_vscode b/scripts/docker/dockerfile_gcc-13_vscode index b78dc3c809..28eb639198 100644 --- a/scripts/docker/dockerfile_gcc-13_vscode +++ b/scripts/docker/dockerfile_gcc-13_vscode @@ -14,6 +14,7 @@ FROM ghcr.io/llnl/radiuss:gcc-13-ubuntu-24.04 ARG branch=develop +ARG OPENVSCODE_SERVER_VERSION=1.109.5 ARG USER=axomdev ENV HOME /home/${USER} @@ -33,9 +34,11 @@ RUN sudo tar -xf doxygen-1.9.8.linux.bin.tar.gz RUN cd doxygen-1.9.8 && sudo make && sudo make install && doxygen --version WORKDIR /opt/archives -RUN sudo curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.69.1/openvscode-server-v1.69.1-linux-x64.tar.gz > \ - /opt/archives/openvscode-server-v1.69.1-linux-x64.tar.gz -RUN sudo tar xzf openvscode-server-v1.69.1-linux-x64.tar.gz && sudo chown -R ${USER}:${USER} openvscode-server-v1.69.1-linux-x64 +RUN sudo curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v${OPENVSCODE_SERVER_VERSION}/openvscode-server-v${OPENVSCODE_SERVER_VERSION}-linux-x64.tar.gz > \ + /opt/archives/openvscode-server-v${OPENVSCODE_SERVER_VERSION}-linux-x64.tar.gz +RUN sudo tar xzf openvscode-server-v${OPENVSCODE_SERVER_VERSION}-linux-x64.tar.gz \ + && sudo chown -R ${USER}:${USER} openvscode-server-v${OPENVSCODE_SERVER_VERSION}-linux-x64 \ + && sudo ln -sfn /opt/archives/openvscode-server-v${OPENVSCODE_SERVER_VERSION}-linux-x64 /opt/openvscode-server WORKDIR ${HOME} USER ${USER} diff --git a/scripts/docker/supervisord.conf b/scripts/docker/supervisord.conf index ff1ddbc1c3..97e445002a 100644 --- a/scripts/docker/supervisord.conf +++ b/scripts/docker/supervisord.conf @@ -9,4 +9,4 @@ environment=HOME="/home/XXX",USER="XXX" redirect_stderr = true stdout_logfile = /var/log/openvscode-server.log -command = /opt/archives/openvscode-server-v1.69.1-linux-x64/bin/openvscode-server --without-connection-token --disable-telemetry --host 0.0.0.0 --default-folder /home/XXX/shaping_tutorial +command = /opt/openvscode-server/bin/openvscode-server --without-connection-token --disable-telemetry --disable-workspace-trust --host 0.0.0.0 --default-folder /home/XXX/shaping_tutorial From 90b7ba64b626d577fd022f90fcc43f7f2f67fd66 Mon Sep 17 00:00:00 2001 From: Brian Han Date: Wed, 8 Jul 2026 16:48:36 -0700 Subject: [PATCH 08/10] Revert "Try newer openvscode-server version" This reverts commit eecfc465449c93e77b4153a7c1b018691c6cb39d. --- scripts/docker/dockerfile_gcc-13_vscode | 9 +++------ scripts/docker/supervisord.conf | 2 +- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/scripts/docker/dockerfile_gcc-13_vscode b/scripts/docker/dockerfile_gcc-13_vscode index 28eb639198..b78dc3c809 100644 --- a/scripts/docker/dockerfile_gcc-13_vscode +++ b/scripts/docker/dockerfile_gcc-13_vscode @@ -14,7 +14,6 @@ FROM ghcr.io/llnl/radiuss:gcc-13-ubuntu-24.04 ARG branch=develop -ARG OPENVSCODE_SERVER_VERSION=1.109.5 ARG USER=axomdev ENV HOME /home/${USER} @@ -34,11 +33,9 @@ RUN sudo tar -xf doxygen-1.9.8.linux.bin.tar.gz RUN cd doxygen-1.9.8 && sudo make && sudo make install && doxygen --version WORKDIR /opt/archives -RUN sudo curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v${OPENVSCODE_SERVER_VERSION}/openvscode-server-v${OPENVSCODE_SERVER_VERSION}-linux-x64.tar.gz > \ - /opt/archives/openvscode-server-v${OPENVSCODE_SERVER_VERSION}-linux-x64.tar.gz -RUN sudo tar xzf openvscode-server-v${OPENVSCODE_SERVER_VERSION}-linux-x64.tar.gz \ - && sudo chown -R ${USER}:${USER} openvscode-server-v${OPENVSCODE_SERVER_VERSION}-linux-x64 \ - && sudo ln -sfn /opt/archives/openvscode-server-v${OPENVSCODE_SERVER_VERSION}-linux-x64 /opt/openvscode-server +RUN sudo curl -L https://github.com/gitpod-io/openvscode-server/releases/download/openvscode-server-v1.69.1/openvscode-server-v1.69.1-linux-x64.tar.gz > \ + /opt/archives/openvscode-server-v1.69.1-linux-x64.tar.gz +RUN sudo tar xzf openvscode-server-v1.69.1-linux-x64.tar.gz && sudo chown -R ${USER}:${USER} openvscode-server-v1.69.1-linux-x64 WORKDIR ${HOME} USER ${USER} diff --git a/scripts/docker/supervisord.conf b/scripts/docker/supervisord.conf index 97e445002a..ff1ddbc1c3 100644 --- a/scripts/docker/supervisord.conf +++ b/scripts/docker/supervisord.conf @@ -9,4 +9,4 @@ environment=HOME="/home/XXX",USER="XXX" redirect_stderr = true stdout_logfile = /var/log/openvscode-server.log -command = /opt/openvscode-server/bin/openvscode-server --without-connection-token --disable-telemetry --disable-workspace-trust --host 0.0.0.0 --default-folder /home/XXX/shaping_tutorial +command = /opt/archives/openvscode-server-v1.69.1-linux-x64/bin/openvscode-server --without-connection-token --disable-telemetry --host 0.0.0.0 --default-folder /home/XXX/shaping_tutorial From 0cd55f217f55b72cdd1bd19ec82106dbcd0506df Mon Sep 17 00:00:00 2001 From: Brian Han Date: Thu, 9 Jul 2026 11:10:19 -0700 Subject: [PATCH 09/10] Binary search -testing half. --- scripts/docker/dockerfile_gcc-13_vscode | 8 -------- scripts/docker/openvscode-settings.json | 1 - 2 files changed, 9 deletions(-) diff --git a/scripts/docker/dockerfile_gcc-13_vscode b/scripts/docker/dockerfile_gcc-13_vscode index b78dc3c809..245cb9aa3e 100644 --- a/scripts/docker/dockerfile_gcc-13_vscode +++ b/scripts/docker/dockerfile_gcc-13_vscode @@ -85,15 +85,7 @@ RUN ln -s ${HOME}/axom_repo/install-release/examples/axom/shaping_tutorial/ ${HO USER root ADD ./scripts/docker/supervisord.conf /etc/supervisord.conf -ADD ./scripts/docker/openvscode-settings.json /tmp/openvscode-settings.json -ADD ./scripts/docker/shaping_tutorial-tasks.json /tmp/shaping_tutorial-tasks.json RUN sed -i "s/XXX/${USER}/g" /etc/supervisord.conf -RUN sed -i "s#XXX#${USER}#g" /tmp/openvscode-settings.json \ - && install -d -o ${USER} -g ${USER} ${HOME}/.openvscode-server/data/Machine \ - && install -d -o ${USER} -g ${USER} ${HOME}/shaping_tutorial/.vscode \ - && install -o ${USER} -g ${USER} /tmp/openvscode-settings.json ${HOME}/.openvscode-server/data/Machine/settings.json \ - && install -o ${USER} -g ${USER} /tmp/shaping_tutorial-tasks.json ${HOME}/shaping_tutorial/.vscode/tasks.json \ - && rm -f /tmp/openvscode-settings.json /tmp/shaping_tutorial-tasks.json RUN touch /var/log/openvscode-server.log && chown -R ${USER}:${USER} /var/log/openvscode-server.log diff --git a/scripts/docker/openvscode-settings.json b/scripts/docker/openvscode-settings.json index 3a8634ece0..a2a3d7188a 100644 --- a/scripts/docker/openvscode-settings.json +++ b/scripts/docker/openvscode-settings.json @@ -1,4 +1,3 @@ { - "task.allowAutomaticTasks": "on", "terminal.integrated.cwd": "/home/XXX/shaping_tutorial" } From 6fd045fcb288f4ebcdcb448b5e0236ef6abc6529 Mon Sep 17 00:00:00 2001 From: Brian Han Date: Thu, 9 Jul 2026 11:24:52 -0700 Subject: [PATCH 10/10] Keep current state - remove extra config .json vscode files --- scripts/docker/openvscode-settings.json | 3 --- scripts/docker/shaping_tutorial-tasks.json | 26 ---------------------- 2 files changed, 29 deletions(-) delete mode 100644 scripts/docker/openvscode-settings.json delete mode 100644 scripts/docker/shaping_tutorial-tasks.json diff --git a/scripts/docker/openvscode-settings.json b/scripts/docker/openvscode-settings.json deleted file mode 100644 index a2a3d7188a..0000000000 --- a/scripts/docker/openvscode-settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "terminal.integrated.cwd": "/home/XXX/shaping_tutorial" -} diff --git a/scripts/docker/shaping_tutorial-tasks.json b/scripts/docker/shaping_tutorial-tasks.json deleted file mode 100644 index 1dc4c623f4..0000000000 --- a/scripts/docker/shaping_tutorial-tasks.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Open login shell", - "type": "shell", - "command": "/bin/bash", - "args": [ - "-il" - ], - "options": { - "cwd": "${workspaceFolder}" - }, - "presentation": { - "reveal": "always", - "panel": "dedicated", - "focus": true, - "showReuseMessage": false, - "clear": false - }, - "runOptions": { - "runOn": "folderOpen" - } - } - ] -}