-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
28 changed files
with
686 additions
and
67 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
#!/bin/bash | ||
EESSI_VERSION="2023.06" | ||
export LMOD_PAGER=cat | ||
|
||
# initialize assert framework | ||
if [ ! -d assert.sh ]; then | ||
echo "assert.sh not cloned." | ||
echo "" | ||
echo "run \`git clone https://github.com/lehmannro/assert.sh.git\`" | ||
exit 1 | ||
fi | ||
. assert.sh/assert.sh | ||
|
||
TEST_SHELLS=("bash" "zsh" "fish" "ksh") | ||
SHELLS=$@ | ||
|
||
for shell in ${SHELLS[@]}; do | ||
echo = | awk 'NF += (OFS = $_) + 100' | ||
echo RUNNING TESTS FOR SHELL: $shell | ||
echo = | awk 'NF += (OFS = $_) + 100' | ||
if [[ ! " ${TEST_SHELLS[*]} " =~ [[:space:]]${shell}[[:space:]] ]]; then | ||
### EXCEPTION FOR CSH ### | ||
echo -e "\033[33mWe don't now how to test the shell '$shell', PRs are Welcome.\033[0m" | ||
else | ||
# TEST 1: Source Script and check Module Output | ||
assert "$shell -c 'source init/lmod/$shell' 2>&1 " "EESSI/$EESSI_VERSION loaded successfully" | ||
# TEST 2: Check if module overviews first section is the loaded EESSI module | ||
MODULE_SECTIONS=($($shell -c "source init/lmod/$shell 2>/dev/null; module ov 2>&1 | grep -e '---'")) | ||
PATTERN="/cvmfs/software\.eessi\.io/versions/$EESSI_VERSION/software/linux/x86_64/(intel/haswell|amd/zen3)/modules/all" | ||
assert_raises 'echo "${MODULE_SECTIONS[1]}" | grep -E "$PATTERN"' | ||
# TEST 3: Check if module overviews second section is the EESSI init module | ||
assert "echo ${MODULE_SECTIONS[4]}" "/cvmfs/software.eessi.io/versions/$EESSI_VERSION/init/modules" | ||
# Test 4: Load Python module and check version | ||
command="$shell -c 'source init/lmod/$shell 2>/dev/null; module load Python/3.10.8-GCCcore-12.2.0; python --version'" | ||
expected="Python 3.10.8" | ||
assert "$command" "$expected" | ||
# Test 5: Load Python module and check path | ||
PYTHON_PATH=$($shell -c "source init/lmod/$shell 2>/dev/null; module load Python/3.10.8-GCCcore-12.2.0; which python") | ||
PATTERN="/cvmfs/software\.eessi\.io/versions/$EESSI_VERSION/software/linux/x86_64/(intel/haswell|amd/zen3)/software/Python/3\.10\.8-GCCcore-12\.2\.0/bin/python" | ||
echo "$PYTHON_PATH" | grep -E "$PATTERN" | ||
assert_raises 'echo "$PYTHON_PATH" | grep -E "$PATTERN"' | ||
|
||
#End Test Suite | ||
assert_end "source_eessi_$shell" | ||
fi | ||
done | ||
|
||
|
||
# RESET PAGER | ||
export LMOD_PAGER= |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
# documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions | ||
name: Tests for eessi_module_functionality in software.eessi.io | ||
on: | ||
push: | ||
branches: [ "*-software.eessi.io" ] | ||
pull_request: | ||
permissions: | ||
contents: read # to fetch code (actions/checkout) | ||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
EESSI_VERSION: | ||
- 2023.06 | ||
steps: | ||
- name: Check out software-layer repository | ||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | ||
|
||
- name: Mount EESSI CernVM-FS pilot repository | ||
uses: cvmfs-contrib/github-action-cvmfs@55899ca74cf78ab874bdf47f5a804e47c198743c # v4.0 | ||
with: | ||
cvmfs_config_package: https://github.com/EESSI/filesystem-layer/releases/download/latest/cvmfs-config-eessi_latest_all.deb | ||
cvmfs_http_proxy: DIRECT | ||
cvmfs_repositories: software.eessi.io | ||
|
||
- name: Test for making sure spider cache is being used and not being rebuilt | ||
run: | | ||
. /cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/compat/linux/$(uname -m)/usr/share/Lmod/init/bash # Initialise Lmod | ||
export MODULEPATH=init/modules | ||
configfile="configfile.txt" | ||
module -T load EESSI/${{matrix.EESSI_VERSION}} | ||
module --config > "${configfile}" 2>&1 | ||
grep cache "${configfile}" | grep software | grep -v compat | ||
if timeout 10s bash -c "LMOD_PAGER=none module --terse avail" && grep cache "${configfile}" | grep software | grep -v compat; then | ||
echo "EESSI spider cache is being used" | ||
else | ||
echo "EESSI spider cache is being rebuilt" >&2 | ||
exit 1 | ||
fi | ||
env | grep LMOD | ||
module purge | ||
unset MODULEPATH | ||
- name: Test for archdetect_cpu functionality with invalid path | ||
run: | | ||
. /cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/compat/linux/$(uname -m)/usr/share/Lmod/init/bash # Initialise Lmod | ||
export MODULEPATH=init/modules | ||
set +e # Do not exit immediately if a command exits with a non-zero status | ||
export EESSI_ARCHDETECT_OPTIONS="dummy/cpu" | ||
outfile="outfile.txt" | ||
module load EESSI/${{matrix.EESSI_VERSION}} > "${outfile}" 2>&1 | ||
cat "${outfile}" | ||
if grep -q "Software directory check" "${outfile}"; then | ||
echo "Test for picking up invalid path on \${archdetect_cpu} PASSED" | ||
else | ||
echo "Test for picking up invalid path on \${archdetect_cpu} FAILED" >&2 | ||
exit 1 | ||
fi | ||
unset EESSI_ARCHDETECT_OPTIONS | ||
set -e # Re-enable exit on non-zero status | ||
- name: Test for expected variables while adding dummy cpu archs and loading EESSI module | ||
run: | | ||
. /cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/compat/linux/$(uname -m)/usr/share/Lmod/init/bash # Initialise Lmod | ||
export MODULEPATH=init/modules | ||
CPU_ARCH=$(./init/eessi_archdetect.sh -a cpupath) | ||
export EESSI_ARCHDETECT_OPTIONS="dummy/cpu:${CPU_ARCH}:dummy1/cpu1" | ||
moduleoutfile="moduleout.txt" | ||
sourceoutfile="sourceout.txt" | ||
module load EESSI/${{matrix.EESSI_VERSION}} | ||
env | grep -E '^(EESSI_S|EESSI_C)' | sort > "${moduleoutfile}" | ||
module unload EESSI/${{matrix.EESSI_VERSION}} | ||
source /cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/init/bash | ||
env | grep -E '^(EESSI_S|EESSI_C)' | sort > "${sourceoutfile}" | ||
cat "${moduleoutfile}" | ||
cat "${sourceoutfile}" | ||
if (diff "${moduleoutfile}" "${sourceoutfile}" > /dev/null); then | ||
echo "Test for checking env variables PASSED" | ||
else | ||
echo "Test for checking env variables FAILED" >&2 | ||
exit 1 | ||
fi | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions | ||
name: Check for EESSI init shell scripts to load eessi software module in software.eessi.io | ||
on: | ||
push: | ||
branches: [ "*-software.eessi.io" ] | ||
pull_request: | ||
workflow_dispatch: | ||
permissions: | ||
contents: read # to fetch code (actions/checkout) | ||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
EESSI_VERSION: | ||
- 2023.06 | ||
EESSI_SOFTWARE_SUBDIR_OVERRIDE: | ||
- x86_64/intel/haswell | ||
steps: | ||
- name: Check out software-layer repository | ||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | ||
|
||
- name: Mount EESSI CernVM-FS pilot repository | ||
uses: cvmfs-contrib/github-action-cvmfs@55899ca74cf78ab874bdf47f5a804e47c198743c # v4.0 | ||
with: | ||
cvmfs_config_package: https://github.com/EESSI/filesystem-layer/releases/download/latest/cvmfs-config-eessi_latest_all.deb | ||
cvmfs_http_proxy: DIRECT | ||
cvmfs_repositories: software.eessi.io | ||
|
||
- name: Clone assert.sh script | ||
run: git clone https://github.com/lehmannro/assert.sh.git | ||
|
||
- name: Install missing shells | ||
run: | | ||
sudo apt update | ||
sudo apt install zsh ksh fish | ||
echo "# INIT ZSH" > ~/.zshrc | ||
- name: Run tests for available shells | ||
run: | | ||
.github/workflows/scripts/test_init_scripts.sh "bash" "zsh" "ksh" "fish" "csh" | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
11 changes: 11 additions & 0 deletions
11
easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.2-001-system.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
easyconfigs: | ||
- EasyBuild-4.9.3.eb: | ||
options: | ||
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/21412 | ||
from-commit: 1cdd81524c974a29825e37bcf8ef3ccc291f5227 | ||
- ReFrame-4.6.2.eb: | ||
options: | ||
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/21307 | ||
from-commit: 0c4bd5c5a80f571a8932fbc38880d72455406816 | ||
# see https://github.com/easybuilders/easybuild-easyblocks/pull/3431 | ||
include-easyblocks-from-commit: efddeb02abe1a679324ac01ef19601dedbe79cc0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
...tware.eessi.io/2023.06/rebuilds/20240814-eb-4.9.2-hatchling-1.18.0-updated-easyconfig.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# 2024.08.14 | ||
# hatchling-1.18.0 rebuild to account for easyconfig changed upstream | ||
# see https://gitlab.com/eessi/support/-/issues/85 and | ||
# https://github.com/easybuilders/easybuild-easyconfigs/pull/20389 | ||
easyconfigs: | ||
- hatchling-1.18.0-GCCcore-12.3.0.eb: | ||
options: | ||
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/20389 | ||
from-commit: 9580c0d67d6dd97b160b768a839bfcba6d5b21b9 |
13 changes: 13 additions & 0 deletions
13
...essi.io/2023.06/rebuilds/20240823-eb-4.9.2-GObject-Introspection-filter-envvars-a64fx.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# 2024.08.23 | ||
# GObject-Introspection sets $LD_LIBRARY_PATH (to many different paths, including $EPREFIX/lib) | ||
# when calling gcc, and this causes a lot of issues for, especially, scripts using /bin/bash. | ||
# | ||
# This rebuild ensures (by using a new EasyBuild hook) that GObject-Introspection will not set | ||
# environment variables that are configured to be filtered by EasyBuild. | ||
# This rebuild was not done initially for A64FX. This file is meant to do the same as the | ||
# previous rebuild of GObject-Introspection-1.76.1-GCCcore-12.3.0 in other architectures, | ||
# but for A64FX. | ||
# | ||
# See https://github.com/EESSI/software-layer/issues/196 | ||
easyconfigs: | ||
- GObject-Introspection-1.76.1-GCCcore-12.3.0.eb |
2 changes: 2 additions & 0 deletions
2
easystacks/software.eessi.io/2023.06/zen4/eessi-2023.06-eb-4.9.2-001-system.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
easyconfigs: | ||
- ReFrame-4.3.3.eb |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.