Skip to content

Commit c5e8830

Browse files
committed
Separate our the GPU checks
1 parent 889480a commit c5e8830

1 file changed

Lines changed: 61 additions & 37 deletions

File tree

.github/workflows/tests_eessi_extend_module.yml

Lines changed: 61 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,6 @@ jobs:
7272
module use "$MY_INSTALLATION_PATH"/modules/all
7373
check_disallowed_env_prefix EASYBUILD_
7474
75-
# Set an environment variable to use when we want to target accelerators
76-
export STORED_EESSI_ACCELERATOR_TARGET_OVERRIDE="accel/nvidia/cc80"
77-
export STORED_CUDA_CC="80"
78-
7975
# Configure for CVMFS install
8076
export EESSI_CVMFS_INSTALL=1
8177
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
@@ -91,56 +87,93 @@ jobs:
9187
check_env_var "EASYBUILD_UMASK" "022"
9288
# unload and check the environment is clean again
9389
module unload EESSI-extend
94-
# check an accerator installation
90+
check_disallowed_env_prefix EASYBUILD_
91+
unset EESSI_CVMFS_INSTALL
92+
93+
# Now configure for a site
94+
export EESSI_SITE_INSTALL=1
95+
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
96+
# check some specific envvars
97+
check_env_var "EASYBUILD_INSTALLPATH" "$EESSI_SITE_SOFTWARE_PATH"
98+
check_env_var "EASYBUILD_UMASK" "022"
99+
# unload and check the environment is clean again
100+
module unload EESSI-extend
101+
check_disallowed_env_prefix EASYBUILD_
102+
unset EESSI_SITE_INSTALL
103+
104+
# Now for a project
105+
export EESSI_PROJECT_INSTALL="$MY_INSTALLATION_PATH"
106+
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
107+
# check some specific envvars
108+
export EXPECTED_INSTALLATION_PATH="$MY_INSTALLATION_PATH/versions/$EESSI_VERSION/software/linux/$EESSI_SOFTWARE_SUBDIR"
109+
check_env_var "EASYBUILD_INSTALLPATH" "$EXPECTED_INSTALLATION_PATH"
110+
check_env_var "EASYBUILD_UMASK" "002"
111+
check_env_var "EASYBUILD_GROUP_WRITABLE_INSTALLDIR" "1"
112+
# unload and check the environment is clean again
113+
module unload EESSI-extend
114+
check_disallowed_env_prefix EASYBUILD_
115+
unset EESSI_PROJECT_INSTALL
116+
117+
# Now for a user
118+
export EESSI_USER_INSTALL="$MY_INSTALLATION_PATH/$USER"
119+
mkdir -p $EESSI_USER_INSTALL # must exist
120+
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
121+
# check some specific envvars
122+
export EXPECTED_INSTALLATION_PATH="$MY_INSTALLATION_PATH/$USER/versions/$EESSI_VERSION/software/linux/$EESSI_SOFTWARE_SUBDIR"
123+
check_env_var "EASYBUILD_INSTALLPATH" "$EXPECTED_INSTALLATION_PATH"
124+
check_env_var "EASYBUILD_UMASK" "077"
125+
# unload and check the environment is clean again
126+
module unload EESSI-extend
127+
check_disallowed_env_prefix EASYBUILD_
128+
unset EESSI_USER_INSTALL
129+
130+
- name: Run tests for EESSI-extend in the various GPU scenarios
131+
run: |
132+
export MY_INSTALLATION_PATH=/tmp/easybuild
133+
134+
# Set an environment variable to use when we want to target accelerators
135+
export STORED_EESSI_ACCELERATOR_TARGET_OVERRIDE="accel/nvidia/cc80"
136+
export STORED_CUDA_CC="80"
137+
138+
# Let's start from a clean slate
139+
module purge
95140
export EESSI_ACCELERATOR_TARGET_OVERRIDE=$STORED_EESSI_ACCELERATOR_TARGET_OVERRIDE
141+
module load EESSI/${{matrix.EESSI_VERSION}}
142+
# Access the installed EESSI-extend
143+
module use "$MY_INSTALLATION_PATH"/modules/all
144+
check_disallowed_env_prefix EASYBUILD_
145+
146+
# Configure for CVMFS install
147+
export EESSI_CVMFS_INSTALL=1
96148
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
97149
check_env_var "EASYBUILD_INSTALLPATH" "$EESSI_SOFTWARE_PATH" # installation path should be the same unless we ask for an explicit GPU installation
98150
check_env_var "EASYBUILD_CUDA_COMPUTE_CAPABILITIES" "$STORED_CUDA_CC"
99151
export EESSI_ACCELERATOR_INSTALL=1
100152
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild # reload for an actual GPU installation
101-
check_env_var "EASYBUILD_INSTALLPATH" "${EESSI_SOFTWARE_PATH}/accel/${EESSI_ACCELERATOR_TARGET_OVERRIDE}" # installation path should be the same unless we ask for an explicit GPU installation
153+
check_env_var "EASYBUILD_INSTALLPATH" "${EESSI_SOFTWARE_PATH}/accel/${EESSI_ACCELERATOR_TARGET_OVERRIDE}"
102154
# unload and make sure the environment is clean again
103155
module unload EESSI-extend
104156
check_disallowed_env_prefix EASYBUILD_
105-
unset EESSI_ACCELERATOR_TARGET_OVERRIDE
106157
unset EESSI_ACCELERATOR_INSTALL
107158
unset EESSI_CVMFS_INSTALL
108159
109160
# Now configure for a site
110161
export EESSI_SITE_INSTALL=1
111162
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
112-
# check some specific envvars
113-
check_env_var "EASYBUILD_INSTALLPATH" "$EESSI_SITE_SOFTWARE_PATH"
114-
check_env_var "EASYBUILD_UMASK" "022"
115-
# unload and check the environment is clean again
116-
module unload EESSI-extend
117-
# check an accelerator installation
118-
export EESSI_ACCELERATOR_TARGET_OVERRIDE=$STORED_EESSI_ACCELERATOR_TARGET_OVERRIDE
119-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
120163
check_env_var "EASYBUILD_INSTALLPATH" "$EESSI_SITE_SOFTWARE_PATH" # installation path should be the same unless we ask for an explicit GPU installation
121164
check_env_var "EASYBUILD_CUDA_COMPUTE_CAPABILITIES" "$STORED_CUDA_CC"
122165
export EESSI_ACCELERATOR_INSTALL=1
123166
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild # reload for an actual GPU installation
124-
check_env_var "EASYBUILD_INSTALLPATH" "${EESSI_SITE_SOFTWARE_PATH}/accel/${EESSI_ACCELERATOR_TARGET_OVERRIDE}" # installation path should be the same unless we ask for an explicit GPU installation
167+
check_env_var "EASYBUILD_INSTALLPATH" "${EESSI_SITE_SOFTWARE_PATH}/accel/${EESSI_ACCELERATOR_TARGET_OVERRIDE}"
125168
# unload and make sure the environment is clean again
126169
module unload EESSI-extend
127170
check_disallowed_env_prefix EASYBUILD_
128-
unset EESSI_ACCELERATOR_TARGET_OVERRIDE
129171
unset EESSI_ACCELERATOR_INSTALL
130172
unset EESSI_SITE_INSTALL
131173
132174
# Now for a project
133175
export EESSI_PROJECT_INSTALL="$MY_INSTALLATION_PATH"
134-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
135-
# check some specific envvars
136-
export EXPECTED_INSTALLATION_PATH="$MY_INSTALLATION_PATH/versions/$EESSI_VERSION/software/linux/$EESSI_SOFTWARE_SUBDIR"
137-
check_env_var "EASYBUILD_INSTALLPATH" "$EXPECTED_INSTALLATION_PATH"
138-
check_env_var "EASYBUILD_UMASK" "002"
139-
check_env_var "EASYBUILD_GROUP_WRITABLE_INSTALLDIR" "1"
140-
# unload and check the environment is clean again
141-
module unload EESSI-extend
142-
# check an accerator installation
143-
export EESSI_ACCELERATOR_TARGET_OVERRIDE=$STORED_EESSI_ACCELERATOR_TARGET_OVERRIDE
176+
export EXPECTED_INSTALLATION_PATH="$MY_INSTALLATION_PATH/$USER/versions/$EESSI_VERSION/software/linux/$EESSI_SOFTWARE_SUBDIR"
144177
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
145178
check_env_var "EASYBUILD_INSTALLPATH" "$EXPECTED_INSTALLATION_PATH" # installation path should be the same unless we ask for an explicit GPU installation
146179
check_env_var "EASYBUILD_CUDA_COMPUTE_CAPABILITIES" "$STORED_CUDA_CC"
@@ -150,7 +183,6 @@ jobs:
150183
# unload and make sure the environment is clean again
151184
module unload EESSI-extend
152185
check_disallowed_env_prefix EASYBUILD_
153-
unset EESSI_ACCELERATOR_TARGET_OVERRIDE
154186
unset EESSI_ACCELERATOR_INSTALL
155187
unset EESSI_PROJECT_INSTALL
156188
@@ -160,12 +192,6 @@ jobs:
160192
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
161193
# check some specific envvars
162194
export EXPECTED_INSTALLATION_PATH="$MY_INSTALLATION_PATH/$USER/versions/$EESSI_VERSION/software/linux/$EESSI_SOFTWARE_SUBDIR"
163-
check_env_var "EASYBUILD_INSTALLPATH" "$EXPECTED_INSTALLATION_PATH"
164-
check_env_var "EASYBUILD_UMASK" "077"
165-
# unload and check the environment is clean again
166-
module unload EESSI-extend
167-
# check an accerator installation
168-
export EESSI_ACCELERATOR_TARGET_OVERRIDE=$STORED_EESSI_ACCELERATOR_TARGET_OVERRIDE
169195
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
170196
check_env_var "EASYBUILD_INSTALLPATH" "$EXPECTED_INSTALLATION_PATH" # installation path should be the same unless we ask for an explicit GPU installation
171197
check_env_var "EASYBUILD_CUDA_COMPUTE_CAPABILITIES" "$STORED_CUDA_CC"
@@ -175,7 +201,5 @@ jobs:
175201
# unload and make sure the environment is clean again
176202
module unload EESSI-extend
177203
check_disallowed_env_prefix EASYBUILD_
178-
unset EESSI_ACCELERATOR_TARGET_OVERRIDE
179204
unset EESSI_ACCELERATOR_INSTALL
180-
unset EESSI_USER_INSTALL
181-
205+
unset EESSI_USER_INSTALL

0 commit comments

Comments
 (0)