Skip to content

Commit 2ea186d

Browse files
committed
Run a quick rebuild to test EESSI-extend and eb_hooks.py
1 parent 38ca6af commit 2ea186d

1 file changed

Lines changed: 29 additions & 24 deletions

File tree

.github/workflows/tests_eessi_extend_module.yml

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,20 @@ jobs:
1010
basic_checks:
1111
runs-on: ubuntu-22.04
1212
strategy:
13-
fail-fast: false
1413
matrix:
15-
EESSI_VERSION:
16-
- '2023.06'
17-
#- '2025.06'
14+
include:
15+
- eessi_version: '2023.06'
16+
rebuild_software: "BCFtools-1.18-GCC-12.3.0.eb"
17+
- eessi_version: '2025.06'
18+
rebuild_software: "make-4.4.1-GCCcore-13.3.0.eb"
1819
steps:
1920
- name: Check out software-layer repository
2021
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
2122

2223
- name: Mount EESSI CernVM-FS repository
2324
uses: eessi/github-action-eessi@v3
2425
with:
25-
eessi_stack_version: ${{matrix.EESSI_VERSION}}
26+
eessi_stack_version: ${{matrix.eessi_version}}
2627
use_eessi_module: true
2728

2829
- name: Install the EESSI-extend shipped with the repository
@@ -38,7 +39,7 @@ jobs:
3839
check_disallowed_env_prefix EASYBUILD_
3940
4041
# Load the EESSI module
41-
module load EESSI/${{matrix.EESSI_VERSION}}
42+
module load EESSI/${{matrix.eessi_version}}
4243
check_disallowed_env_prefix EASYBUILD_
4344
4445
# Load EasyBuild to install EESSI-extend
@@ -50,8 +51,12 @@ jobs:
5051
5152
# Verify that we can pick the installed version up
5253
module use $MY_INSTALLATION_PATH/modules/all
53-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
54+
module load EESSI-extend/${{matrix.eessi_version}}-easybuild
5455
echo $EBROOTEESSIMINEXTEND | grep $MY_INSTALLATION_PATH || { echo "ERROR: Installed version of EESSI-extend not picked up (loaded $EBROOTEESSIMINEXTEND)" >&2; exit 1; }
56+
# Do a test rebuild (with default and local hooks)
57+
eb --rebuild ${{matrix.rebuild_software}}
58+
eb --rebuild --hooks=./eb_hooks.py ${{matrix.rebuild_software}}
59+
# Proceed with unload and checking that
5560
module unload EESSI-extend
5661
# That should have unset all EasyBuild envvars (including EASYBUILD_PREFIX)
5762
check_disallowed_env_prefix EASYBUILD_
@@ -68,19 +73,19 @@ jobs:
6873
6974
# Let's start from a clean slate
7075
module purge
71-
module load EESSI/${{matrix.EESSI_VERSION}}
76+
module load EESSI/${{matrix.eessi_version}}
7277
# Access the installed EESSI-extend
7378
module use "$MY_INSTALLATION_PATH"/modules/all
7479
check_disallowed_env_prefix EASYBUILD_
7580
7681
# Configure for CVMFS install
7782
export EESSI_CVMFS_INSTALL=1
78-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
83+
module load EESSI-extend/${{matrix.eessi_version}}-easybuild
7984
# check some common EasyBuild settings
8085
check_env_var "EASYBUILD_READ_ONLY_INSTALLDIR" "1"
8186
check_env_var "EASYBUILD_ALLOW_LOADED_MODULES" "EasyBuild,EESSI-extend"
8287
check_env_var "EASYBUILD_SYSROOT" "$EESSI_EPREFIX"
83-
check_env_var "EASYBUILD_HOOKS" "/cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/init/easybuild/eb_hooks.py"
88+
check_env_var "EASYBUILD_HOOKS" "/cvmfs/software.eessi.io/versions/${{matrix.eessi_version}}/init/easybuild/eb_hooks.py"
8489
check_env_var "EASYBUILD_RPATH" "1"
8590
check_env_var "EASYBUILD_FILTER_ENV_VARS" "LD_LIBRARY_PATH"
8691
# check some specific ones
@@ -92,7 +97,7 @@ jobs:
9297
check_env_var "EASYBUILD_FAIL_ON_MOD_FILES_GCCCORE" "1"
9398
check_env_var "EASYBUILD_LOCAL_VAR_NAMING_CHECK" "error"
9499
# Check some EESSI version specific settings
95-
if [[ "${{ matrix.EESSI_VERSION }}" != "2023.06" ]]; then
100+
if [[ "${{ matrix.eessi_version }}" != "2023.06" ]]; then
96101
check_env_var "EASYBUILD_PREFER_PYTHON_SEARCH_PATH" "EBPYTHONPREFIXES"
97102
check_env_var "EASYBUILD_MODULE_SEARCH_PATH_HEADERS" "include_paths"
98103
check_env_var "EASYBUILD_SEARCH_PATH_CPP_HEADERS" "include_paths"
@@ -106,7 +111,7 @@ jobs:
106111
107112
# Now configure for a site
108113
export EESSI_SITE_INSTALL=1
109-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
114+
module load EESSI-extend/${{matrix.eessi_version}}-easybuild
110115
# check some specific envvars
111116
check_env_var "EASYBUILD_INSTALLPATH" "$EESSI_SITE_SOFTWARE_PATH"
112117
check_env_var "EASYBUILD_UMASK" "022"
@@ -119,7 +124,7 @@ jobs:
119124
120125
# Now for a project
121126
export EESSI_PROJECT_INSTALL="$MY_INSTALLATION_PATH"
122-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
127+
module load EESSI-extend/${{matrix.eessi_version}}-easybuild
123128
# check some specific envvars
124129
export EXPECTED_INSTALLATION_PATH="$MY_INSTALLATION_PATH/versions/$EESSI_VERSION/software/linux/$EESSI_SOFTWARE_SUBDIR"
125130
check_env_var "EASYBUILD_INSTALLPATH" "$EXPECTED_INSTALLATION_PATH"
@@ -135,7 +140,7 @@ jobs:
135140
# Now for a user
136141
export EESSI_USER_INSTALL="$MY_INSTALLATION_PATH/$USER"
137142
mkdir -p $EESSI_USER_INSTALL # must exist
138-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
143+
module load EESSI-extend/${{matrix.eessi_version}}-easybuild
139144
# check some specific envvars
140145
export EXPECTED_INSTALLATION_PATH="$MY_INSTALLATION_PATH/$USER/versions/$EESSI_VERSION/software/linux/$EESSI_SOFTWARE_SUBDIR"
141146
check_env_var "EASYBUILD_INSTALLPATH" "$EXPECTED_INSTALLATION_PATH"
@@ -163,18 +168,18 @@ jobs:
163168
# Let's start from a clean slate
164169
module purge
165170
export EESSI_ACCELERATOR_TARGET_OVERRIDE=$STORED_EESSI_ACCELERATOR_TARGET_OVERRIDE
166-
module load EESSI/${{matrix.EESSI_VERSION}}
171+
module load EESSI/${{matrix.eessi_version}}
167172
# Access the installed EESSI-extend
168173
module use "$MY_INSTALLATION_PATH"/modules/all
169174
check_disallowed_env_prefix EASYBUILD_
170175
171176
# Configure for CVMFS install
172177
export EESSI_CVMFS_INSTALL=1
173-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
178+
module load EESSI-extend/${{matrix.eessi_version}}-easybuild
174179
check_env_var "EASYBUILD_INSTALLPATH" "$EESSI_SOFTWARE_PATH" # installation path should be the same unless we ask for an explicit GPU installation
175180
check_env_var "EASYBUILD_CUDA_COMPUTE_CAPABILITIES" "$STORED_CUDA_CC"
176181
export EESSI_ACCELERATOR_INSTALL=1
177-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild # reload for an actual GPU installation
182+
module load EESSI-extend/${{matrix.eessi_version}}-easybuild # reload for an actual GPU installation
178183
check_env_var "EASYBUILD_INSTALLPATH" "${EESSI_SOFTWARE_PATH}/${EESSI_ACCELERATOR_TARGET_OVERRIDE}"
179184
# unload and make sure the environment is clean again
180185
module unload EESSI-extend
@@ -184,11 +189,11 @@ jobs:
184189
185190
# Now configure for a site
186191
export EESSI_SITE_INSTALL=1
187-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
192+
module load EESSI-extend/${{matrix.eessi_version}}-easybuild
188193
check_env_var "EASYBUILD_INSTALLPATH" "$EESSI_SITE_SOFTWARE_PATH" # installation path should be the same unless we ask for an explicit GPU installation
189194
check_env_var "EASYBUILD_CUDA_COMPUTE_CAPABILITIES" "$STORED_CUDA_CC"
190195
export EESSI_ACCELERATOR_INSTALL=1
191-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild # reload for an actual GPU installation
196+
module load EESSI-extend/${{matrix.eessi_version}}-easybuild # reload for an actual GPU installation
192197
check_env_var "EASYBUILD_INSTALLPATH" "${EESSI_SITE_SOFTWARE_PATH}/${EESSI_ACCELERATOR_TARGET_OVERRIDE}"
193198
# unload and make sure the environment is clean again
194199
module unload EESSI-extend
@@ -199,11 +204,11 @@ jobs:
199204
# Now for a project
200205
export EESSI_PROJECT_INSTALL="$MY_INSTALLATION_PATH"
201206
export EXPECTED_INSTALLATION_PATH="$MY_INSTALLATION_PATH/versions/$EESSI_VERSION/software/linux/$EESSI_SOFTWARE_SUBDIR"
202-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
207+
module load EESSI-extend/${{matrix.eessi_version}}-easybuild
203208
check_env_var "EASYBUILD_INSTALLPATH" "$EXPECTED_INSTALLATION_PATH" # installation path should be the same unless we ask for an explicit GPU installation
204209
check_env_var "EASYBUILD_CUDA_COMPUTE_CAPABILITIES" "$STORED_CUDA_CC"
205210
export EESSI_ACCELERATOR_INSTALL=1
206-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild # reload for an GPU actual installation
211+
module load EESSI-extend/${{matrix.eessi_version}}-easybuild # reload for an GPU actual installation
207212
check_env_var "EASYBUILD_INSTALLPATH" "$EXPECTED_INSTALLATION_PATH" # installation path should be the same for project case
208213
# unload and make sure the environment is clean again
209214
module unload EESSI-extend
@@ -214,14 +219,14 @@ jobs:
214219
# Now for a user
215220
export EESSI_USER_INSTALL="$MY_INSTALLATION_PATH/$USER"
216221
mkdir -p $EESSI_USER_INSTALL # must exist
217-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
222+
module load EESSI-extend/${{matrix.eessi_version}}-easybuild
218223
# check some specific envvars
219224
export EXPECTED_INSTALLATION_PATH="$MY_INSTALLATION_PATH/$USER/versions/$EESSI_VERSION/software/linux/$EESSI_SOFTWARE_SUBDIR"
220-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild
225+
module load EESSI-extend/${{matrix.eessi_version}}-easybuild
221226
check_env_var "EASYBUILD_INSTALLPATH" "$EXPECTED_INSTALLATION_PATH" # installation path should be the same unless we ask for an explicit GPU installation
222227
check_env_var "EASYBUILD_CUDA_COMPUTE_CAPABILITIES" "$STORED_CUDA_CC"
223228
export EESSI_ACCELERATOR_INSTALL=1
224-
module load EESSI-extend/${{matrix.EESSI_VERSION}}-easybuild # reload for an actual GPU installation
229+
module load EESSI-extend/${{matrix.eessi_version}}-easybuild # reload for an actual GPU installation
225230
check_env_var "EASYBUILD_INSTALLPATH" "$EXPECTED_INSTALLATION_PATH" # installation path should be the same for user case
226231
# unload and make sure the environment is clean again
227232
module unload EESSI-extend

0 commit comments

Comments
 (0)