@@ -115,7 +115,7 @@ jobs:
115115 # EESSI_DEBUG_INIT/EESSI_ARCHDETECT_OPTIONS only relevant for Lmod init
116116 unset EESSI_DEBUG_INIT
117117 # Store all relevant environment variables
118- env | grep -E '(^EESSI_|^LMOD_RC|^LMOD_PACKAGE_PATH|^MODULEPATH)' | grep -v EESSI_ARCHDETECT_OPTIONS | sort > "${moduleoutfile}"
118+ env | grep -E '(^EESSI_|^LMOD_RC|^LMOD_PACKAGE_PATH|^MODULEPATH)' | grep -v EESSI_ARCHDETECT_OPTIONS | grep -v EESSI_DEFAULT_HOST_LD_LIBRARY_PATH | sort > "${moduleoutfile}"
119119 module unload EESSI/${{matrix.EESSI_VERSION}}
120120
121121 # We should only have two EESSI_* variables defined (which set the overrides)
@@ -315,3 +315,42 @@ jobs:
315315 module load "EESSI/${{matrix.EESSI_VERSION}}"
316316 GREP_PATTERN="Lmod is automatically replacing \"EESSI/${{matrix.EESSI_VERSION}}\" with \"${LOCAL_STACK_NAME}/${LOCAL_STACK_VERSION}\"."
317317 module load "${LOCAL_STACK_NAME}/${LOCAL_STACK_VERSION}" |& grep "${GREP_PATTERN}"
318+
319+ check_ld_library_path_eessi_module :
320+ runs-on : ubuntu-24.04
321+ strategy :
322+ fail-fast : false
323+ matrix :
324+ EESSI_VERSION :
325+ - ' 2023.06'
326+ - ' 2025.06'
327+
328+ steps :
329+ - name : Check out software-layer repository
330+ uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
331+
332+ - name : Mount EESSI CernVM-FS repository
333+ uses : cvmfs-contrib/github-action-cvmfs@55899ca74cf78ab874bdf47f5a804e47c198743c # v4.0
334+ with :
335+ cvmfs_config_package : https://github.com/EESSI/filesystem-layer/releases/download/latest/cvmfs-config-eessi_latest_all.deb
336+ cvmfs_http_proxy : DIRECT
337+ cvmfs_repositories : software.eessi.io
338+
339+ - name : Make sure we are filtering LD_LIBRARY_PATH if necessary
340+ run : |
341+ # Initialise Lmod
342+ . /cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/compat/linux/$(uname -m)/usr/share/Lmod/init/bash
343+
344+ # Make sure we are using the EESSI module file from the repository
345+ export MODULEPATH=init/modules
346+
347+ # Create LD_LIBRARY_PATH to test with
348+ export FAKE_PATH=/path/does/not/exist
349+ export INITIAL_LD_LIBRARY_PATH="/usr/lib:$FAKE_PATH"
350+ export LD_LIBRARY_PATH="$INITIAL_LD_LIBRARY_PATH"
351+ module load "EESSI/${{matrix.EESSI_VERSION}}"
352+ # Check we have a sanitised LD_LIBRARY_PATH
353+ [ "$LD_LIBRARY_PATH" = "$FAKE_PATH" ] || (echo "LD_LIBRARY_PATH is not $FAKE_PATH but $LD_LIBRARY_PATH" && exit 1)
354+ # Make sure things are back as we expect afterwards
355+ module purge
356+ [ "$LD_LIBRARY_PATH" = "$INITIAL_LD_LIBRARY__PATH" ] || (echo "LD_LIBRARY_PATH is not $INITIAL_LD_LIBRARY_PATH but $LD_LIBRARY_PATH" && exit 1)
0 commit comments