@@ -26,21 +26,32 @@ jobs:
2626
2727 - name : Install the EESSI-extend shipped with the repository
2828 run : |
29- # EESSI is already available
29+ # Let's start from a clean slate (unload the EESSI module)
30+ module purge
31+ check_disallowed_env_prefix EESSI_
32+ check_disallowed_env_prefix EASYBUILD_
33+
34+ # Load the EESSI module
35+ module load EESSI/${{matrix.EESSI_VERSION}}
36+ check_disallowed_env_prefix EASYBUILD_
37+
38+ # Load EasyBuild to install EESSI-extend
3039 module load EasyBuild
3140 # Set an installation path
3241 export MY_INSTALLATION_PATH=/tmp/easybuild
3342 export EASYBUILD_PREFIX=$MY_INSTALLATION_PATH
3443 eb EESSI-extend-easybuild.eb --rebuild
44+
3545 # Verify that we can pick the installed version up
3646 module use $MY_INSTALLATION_PATH/modules/all
3747 module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
3848 echo $EBROOTEESSIMINEXTEND | grep $MY_INSTALLATION_PATH || { echo "ERROR: Installed version of EESSI-extend not picked up (loaded $EBROOTEESSIMINEXTEND)" >&2; exit 1; }
3949 module unload EESSI-extend
50+ # That should have unset all EasyBuild envvars (including EASYBUILD_PREFIX)
51+ check_disallowed_env_prefix EASYBUILD_
4052 module unuse $MY_INSTALLATION_PATH/modules/all
41- unset EASYBUILD_PREFIX
42-
43- - name : Run tests for EESSI-extend in the various scenarios
53+
54+ - name : Run tests for EESSI-extend in the various CPU-only scenarios
4455 run : |
4556 export MY_INSTALLATION_PATH=/tmp/easybuild
4657
@@ -51,21 +62,61 @@ jobs:
5162
5263 # Let's start from a clean slate
5364 module purge
54- check_disallowed_env_prefix EESSI_
55- check_disallowed_env_prefix EASYBUILD_
56-
57- # Load the EESSI module
5865 module load EESSI/${{matrix.EESSI_VERSION}}
59- check_disallowed_env_prefix EASYBUILD_
6066 # Access the installed EESSI-extend
61- module use /tmp/easybuild/modules/all
67+ module use "$MY_INSTALLATION_PATH"/modules/all
68+ check_disallowed_env_prefix EASYBUILD_
6269
6370 # Configure for CVMFS install
6471 export EESSI_CVMFS_INSTALL=1
6572 module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
66- # check some common ones
73+ # check some common EasyBuild settings
6774 check_env_var "EASYBUILD_READ_ONLY_INSTALLDIR" "1"
6875 check_env_var "EASYBUILD_ALLOW_LOADED_MODULES" "EasyBuild,EESSI-extend"
6976 check_env_var "EASYBUILD_SYSROOT" "$EESSI_EPREFIX"
77+ check_env_var "EASYBUILD_HOOKS" "/cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/init/easybuild/eb_hooks.py"
78+ check_env_var "EASYBUILD_RPATH" "1"
79+ check_env_var "EASYBUILD_FILTER_ENV_VARS" "LD_LIBRARY_PATH"
7080 # check some specific ones
7181 check_env_var "EASYBUILD_INSTALLPATH" "$EESSI_SOFTWARE_PATH"
82+ check_env_var "EASYBUILD_UMASK" "022"
83+ # unload and check the environment is clean again
84+ module unload EESSI-extend
85+ check_disallowed_env_prefix EASYBUILD_
86+ unset EESSI_CVMFS_INSTALL
87+
88+ # Now configure for a site
89+ export EESSI_SITE_INSTALL=1
90+ module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
91+ # check some specific envvars
92+ check_env_var "EASYBUILD_INSTALLPATH" "$EESSI_SITE_SOFTWARE_PATH"
93+ check_env_var "EASYBUILD_UMASK" "022"
94+ # unload and check the environment is clean again
95+ module unload EESSI-extend
96+ check_disallowed_env_prefix EASYBUILD_
97+ unset EESSI_SITE_INSTALL
98+
99+ # Now for a project
100+ export EESSI_PROJECT_INSTALL="$MY_INSTALLATION_PATH"
101+ module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
102+ # check some specific envvars
103+ check_env_var "EASYBUILD_INSTALLPATH" "$MY_INSTALLATION_PATH/versions/$EESSI_VERSION/software/linux/$EESSI_SOFTWARE_SUBDIR"
104+ check_env_var "EASYBUILD_UMASK" "002"
105+ check_env_var "EASYBUILD_GROUP_WRITABLE_INSTALLDIR" "1"
106+ # unload and check the environment is clean again
107+ module unload EESSI-extend
108+ check_disallowed_env_prefix EASYBUILD_
109+ unset EESSI_PROJECT_INSTALL
110+
111+ # Now for a user
112+ export EESSI_USER_INSTALL="$MY_INSTALLATION_PATH/$USER"
113+ mkdir -p $EESSI_USER_INSTALL # must exist
114+ module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
115+ # check some specific envvars
116+ check_env_var "EASYBUILD_INSTALLPATH" "$MY_INSTALLATION_PATH/$USER/versions/$EESSI_VERSION/software/linux/$EESSI_SOFTWARE_SUBDIR"
117+ check_env_var "EASYBUILD_UMASK" "077"
118+ # unload and check the environment is clean again
119+ module unload EESSI-extend
120+ check_disallowed_env_prefix EASYBUILD_
121+ unset EESSI_USER_INSTALL
122+
0 commit comments