Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

testing EESSI/bot PR#182 & EESSI/fs PR#146 #64

Open
wants to merge 194 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
194 commits
Select commit Hold shift + click to select a range
89e61c4
Merge pull request #3 from trz42/enhancement/bot-build-with-swl-216
trz42 Feb 3, 2023
c36412c
updates to base branch for nessi.no-2022.11-dev
truib Feb 3, 2023
f69993f
Merge branch 'nessi.no-2022.11-dev' of github-trz:NorESSI/software-la…
truib Feb 3, 2023
78f325e
fix issues in eessi_container.sh
truib Feb 3, 2023
0ce3e09
fix easystack typo in eessi-2022.11.yml
truib Feb 3, 2023
32aa711
fix RUN_QUIET setting
truib Feb 4, 2023
a524d91
adding GCC/11.3.0 to NESSI/2022.11
truib Feb 4, 2023
8e2f09c
Revert "adding GCC/11.3.0 to NESSI/2022.11"
truib Feb 4, 2023
7eb8308
adding latest EB to NESSI/2022.11
truib Feb 6, 2023
23e773c
improvements to resuming job environment
truib Feb 7, 2023
d4504c2
address requested change
truib Feb 7, 2023
5d36f45
Merge pull request #6 from trz42/enhancement/improvements_to_job_env
poksumdo Feb 7, 2023
5e24563
Merge branch 'nessi.no-2022.11-dev' of gh-nessi:NorESSI/software-laye…
truib Feb 10, 2023
f7f7980
removing unnecessary debug information
truib Feb 10, 2023
ad0b377
special handling of EB when building for EESSI/2021.12
truib Feb 10, 2023
2dac8fc
Merge pull request #5 from trz42/nessi.no-2022.11-EasyBuild-4.7.0
trz42 Feb 10, 2023
35d0261
Setting EasyBuild version_to 4.7.0 and modifying the YML file format
Feb 14, 2023
0496c8d
modifying the YML file format
Feb 14, 2023
bb0ad9f
Merge pull request #17 from TopRichard/Setting_EasyBuild_version_to_4…
trz42 Feb 14, 2023
3cff9c6
CMake-3.20.1-GCCcore-10.3.0 to NESSI/2022.11
Feb 14, 2023
e7e4cea
replaced #### with #
Feb 15, 2023
999708e
replaced #### with #
Feb 15, 2023
94e39c6
Merge pull request #18 from TopRichard/nessi.no-2022.11-CMake-3.20.1-…
trz42 Feb 15, 2023
4c9c3e7
Add Python-3.9.5-GCCcore-10.3.0-bare.eb to NESSI/2022.11
Feb 15, 2023
69151fe
Added back CMake in both EESSI-pilot-install-software.sh and eessi-20…
Feb 16, 2023
9f93226
Fixed Python version in yml file
Feb 16, 2023
5d5e955
Merge pull request #20 from TopRichard/nessi.no-2022.11-Python-3.9.5-…
trz42 Feb 17, 2023
58d28c6
Adding Qt5/5.14.1-GCCcore-9.3.0 to NESSI/2022.11
dajon Feb 17, 2023
a9622e2
Add OpenMPI/4.1.1 with GCC/10.3.0 to NESSI/2022.11
Feb 20, 2023
67df600
Add ImageMagick/7.0.11.14 with GCC/10.3.0 to NESSI/2022.11
Feb 20, 2023
991d6ea
Merge pull request #30 from TopRichard/nessi.no-2022.11-OpenMPI-4.1.1…
trz42 Feb 22, 2023
d0cdf9f
fixed the merge conflict after merging OpenMPI in the remote
Feb 22, 2023
6919962
added a clarification comment in EESSI-pilot-install-software.sh
Feb 22, 2023
cbe8583
Merge pull request #32 from TopRichard/nessi.no-2022.11-ImageMagick-7…
trz42 Feb 23, 2023
947eac9
Adding Nextflow-22.10.1.eb to NESSI/2022.11
Feb 23, 2023
2689430
Merge branch 'nessi.no-2022.11-dev' of github.com:NorESSI/software-la…
Feb 23, 2023
f2bb51e
Added ebconfig to yml file and commented use of --from-pr
Feb 23, 2023
1a017cd
Adding QuantumESPRESSO to NESSI/2022.11
Feb 23, 2023
c0d7138
Add Spark/3.1.1 with GCC/9.3.0 to NESSI/2022.11
Feb 23, 2023
6ae22ea
Merge branch 'nessi.no-2022.11-dev' of github.com:NorESSI/software-la…
dajon Feb 23, 2023
5e5f97d
add --generic arg when running install script
trz42 Feb 23, 2023
30d6e7e
fix error in regex
trz42 Feb 23, 2023
16094cf
add command separator --
trz42 Feb 23, 2023
46b7268
use command separator --
trz42 Feb 23, 2023
7f087c4
retain eb tmp dir when building Qt5
trz42 Feb 24, 2023
8a18111
Add OSU-Micro-Benchmarks/5.6.3 with GCC/9.3.0 to NESSI/2022.11
Feb 27, 2023
b58ed87
Add OSU-Micro-Benchmarks/5.7.1 with GCC/10.3.0 to NESSI/2022.11
Feb 28, 2023
1087943
added --fetch before installing to mitigate possible corrupted sources
Mar 2, 2023
894a0a5
Merge pull request #34 from rungitta/nessi.no-2022-11-rungitta
terjekv Mar 3, 2023
e516ada
Add WRF/3.9.1.1 with GCC/9.3.0 to NESSI/2022.11
Mar 3, 2023
6eab9c6
uncommented the check and some additional information about the packa…
Mar 6, 2023
e4ddcde
uncommented the check and some additional information about the packa…
Mar 6, 2023
380bd1c
uncommented the check and some additional information about the packa…
Mar 6, 2023
b3809cb
uncommented the checking and some additional information about the pa…
Mar 6, 2023
f59bfde
fix check for missing installations
trz42 Mar 7, 2023
7bb7c1d
add test with missing package
trz42 Mar 8, 2023
68a068b
separated test cases + updated evaluation of test result
trz42 Mar 8, 2023
72185ba
fix small bug in env var name
trz42 Mar 8, 2023
094e82d
set software subdir override before sourcing init script
trz42 Mar 8, 2023
60cf7e2
Revert "set software subdir override before sourcing init script"
trz42 Mar 8, 2023
6f47152
Revert "fix small bug in env var name"
trz42 Mar 8, 2023
a15676d
tweaking output of test
trz42 Mar 8, 2023
5b14800
trying to fix merge conflict..
Mar 9, 2023
34b36fe
Trying only the QuantumEspresso dep libxc-4.3.4-GCC-9.3.0.eb
Mar 9, 2023
9cb0439
Merge branch 'nessi.no-2022.11-dev' of gh-nessi:NorESSI/software-laye…
trz42 Mar 9, 2023
4164809
Merge pull request #42 from trz42/nessi.no-2022.11-dev-PR24
poksumdo Mar 10, 2023
0307719
Merge branch 'nessi.no-2022.11-dev' of gh-nessi:NorESSI/software-laye…
trz42 Mar 10, 2023
a3dd3eb
moved Qt5 to end of list
trz42 Mar 10, 2023
cb18e25
Merge pull request #11 from trz42/merge-dev-into-PR39
TopRichard Mar 10, 2023
115ed5a
Merge branch 'nessi.no-2022.11-dev' of https://github.com/NorESSI/sof…
Mar 10, 2023
86608f4
Merge branch 'nessi.no-2022.11-Spark-3.1.1-GCCcore-9.3.0' of gh-nessi…
Mar 10, 2023
db2ab27
changed the order
Mar 10, 2023
f52d3f0
Merge pull request #39 from TopRichard/nessi.no-2022.11-Spark-3.1.1-G…
trz42 Mar 10, 2023
f2c94bb
Merge commit 'refs/pull/233/head' of gh-nessi:EESSI/software-layer in…
trz42 Mar 10, 2023
c3c08de
Merge commit 'refs/pull/237/head' of gh-nessi:EESSI/software-layer in…
trz42 Mar 10, 2023
99231e8
if exit_code is not zero, use fatal_error (as it was)
trz42 Mar 10, 2023
cc17987
Merge commit 'refs/pull/237/head' of gh-nessi:EESSI/software-layer in…
trz42 Mar 10, 2023
b94bd11
fix bug in test logic
trz42 Mar 10, 2023
5e4bea9
added explanation for test cases (exit code vs boolean logic)
trz42 Mar 11, 2023
b158cb0
Merge commit 'refs/pull/237/head' of gh-nessi:EESSI/software-layer in…
trz42 Mar 11, 2023
b38d27e
fix bug, env var PWD is uppercase
trz42 Mar 11, 2023
cc48007
Merge remote-tracking branch 'nessi/merge-eessi-PR233-nessi-2022.11' …
trz42 Mar 11, 2023
77124c5
merging local with remote
Mar 13, 2023
f646253
merging local with remote
Mar 13, 2023
25d1f3a
merging local with remote
Mar 13, 2023
5128346
make sure that CPU arch specific directories are used as container ca…
truib Mar 15, 2023
0e7e1f9
Merge pull request #52 from trz42/ensure_separate_cache_dir_per_arch
trz42 Mar 15, 2023
6b6867f
adding date to when lmod cache is created
truib Mar 16, 2023
0d2baba
Trying again QuantumESPRESSO without the first building libxc
Mar 16, 2023
582f1cf
new PR to update lmod cache
truib Mar 16, 2023
437ae24
restore PATHs only after last run of pip installed eb
truib Mar 17, 2023
c9bf99c
attempt to fix issue #225
truib Mar 17, 2023
3b75f79
add comments, small improvements
truib Mar 17, 2023
610879e
improve handling of potentially non existing list files
truib Mar 17, 2023
37bb18e
Merge pull request #60 from trz42/sync_nessi_main_with_eessi_main
poksumdo Mar 18, 2023
1bd4d16
Merge branch 'main' of gh-nessi:NorESSI/software-layer into sync_with…
truib Mar 18, 2023
280e2a0
Merge pull request #61 from trz42/sync_with_main
poksumdo Mar 18, 2023
cce81b5
Merge branch 'nessi.no-2022.11-dev' of gh-nessi:NorESSI/software-laye…
truib Mar 18, 2023
166551b
Merge pull request #58 from trz42/pull_in_fixes_PR238_PR239
poksumdo Mar 18, 2023
b043cbd
Merge branch 'nessi.no-2022.11-dev' of gh-nessi:NorESSI/software-laye…
truib Mar 18, 2023
d17a140
Merge pull request #64 from trz42/sync_lmod_cache_update
poksumdo Mar 18, 2023
dd3daa2
Merge branch 'nessi.no-2022.11-lmod-cache-update' of gh-nessi:NorESSI…
truib Mar 18, 2023
2fd6f3c
Merge pull request #46 from TopRichard/nessi.no-2022.11-OSU-Micro-Ben…
trz42 Mar 18, 2023
ba2e527
Merge pull request #56 from trz42/nessi.no-2022.11-lmod-cache-update-…
poksumdo Mar 18, 2023
5f44144
Merge branch 'nessi.no-2022.11-dev' of gh-nessi:NorESSI/software-laye…
truib Mar 18, 2023
0b67f8c
Merge pull request #66 from trz42/sync_lmod_with_dev
poksumdo Mar 18, 2023
21b8236
Merge pull request #67 from trz42/merge_lmod_update_back_to_dev
poksumdo Mar 18, 2023
b5d8a92
it seems we don't need PR 16531 with eb 4.7.0
truib Mar 20, 2023
d393f15
replace EB v4.7.0 with EB v4.6.2
truib Mar 20, 2023
42c8da4
removing additional installation of latest EB as this may change over…
truib Mar 20, 2023
cdb043e
put --from-pr back or GHA will fail
truib Mar 21, 2023
fb5af13
Merge pull request #79 from trz42/dev_check_missing
poksumdo Mar 21, 2023
f9578dc
merged local with remote
Mar 23, 2023
0df6dc7
merged local with remote
Mar 23, 2023
9b41a8e
Merge pull request #48 from TopRichard/nessi.no-2022.11-WRF-3.9.1.1-G…
trz42 Mar 24, 2023
abc0aa2
add R and bioconductor with GCC/9.3.0
truib Mar 26, 2023
12f0602
added easyconfigs from generic rebuild and sorted them alphabetically
truib Mar 26, 2023
3567609
removing bioconductor
truib Mar 27, 2023
83158e2
merged local with remote
Mar 27, 2023
165e388
Merge pull request #45 from TopRichard/nessi.no-2022.11-OSU-Micro-Ben…
trz42 Mar 27, 2023
b7a8c1c
Merge branch 'nessi.no-2022.11-dev' of gh-nessi:NorESSI/software-laye…
truib Mar 27, 2023
8caa2a6
sort easyconfigs alphabetically, use --robot instead of -r
truib Mar 27, 2023
7b15932
Merge pull request #85 from trz42/nessi.no-2022.11-R-4.0.0-foss-2020a
poksumdo Mar 27, 2023
dc690f4
Add FlexiBlas/3.0.4 with GCC/10.3.0 to NESSI/2022.11
Mar 28, 2023
8bedb82
added the --robot option
Mar 28, 2023
f6fcc44
libxc dep download should now be fixed
Mar 29, 2023
bc37b40
Elpa failed with incorrect checksum, source url has changed, trying n…
Mar 29, 2023
a4a9aec
trying with only ELPA --from-pr (dep of QuantumEspresso)
Mar 29, 2023
96ed2e6
fixed typo of duplicate eb command
Mar 29, 2023
6b6a181
install ELPA dep first, then QuantumEspresso
Mar 29, 2023
fb5a75d
Merge pull request #36 from rungitta/nessi.no-2022.11-foss-2020a-Quan…
terjekv Apr 2, 2023
fae5316
update determining directories to tar + adding a note on assumptions …
truib Apr 11, 2023
711cc15
removing comment to address review comment
truib Apr 11, 2023
e63f63d
Merge pull request #92 from trz42/pull_upstream_changes
poksumdo Apr 18, 2023
103b5cf
first version of bot/check-result.sh for software-layer
truib Apr 18, 2023
7403462
fix path to helper scripts + define result file name
truib Apr 18, 2023
652a6a6
define functions for standardizing result output
truib Apr 18, 2023
5de041f
polishing formating of status messages
truib Apr 19, 2023
24af899
more polishing of comment details
truib Apr 19, 2023
060bd7d
minor polishing of job result messages
truib Apr 19, 2023
f5072d7
only log if run with --verbose
truib Apr 19, 2023
1c73aaf
Merge pull request #93 from trz42/check_result_script_nessi
poksumdo Apr 20, 2023
a0e7f84
merged local with remote
Apr 20, 2023
e8b8ae6
fix small bug when checking for tarball msg
truib Apr 20, 2023
5c6f378
avoid creating false positives
truib Apr 20, 2023
fcf519f
fixed the code for the checking process
Apr 21, 2023
4d122c9
Merge pull request #89 from TopRichard/nessi.no-2022.11-FlexiBLAS-3.0…
trz42 Apr 21, 2023
d56ffb2
Merge branch 'nessi.no-2022.11-dev' of gh-nessi:NorESSI/software-laye…
truib Apr 21, 2023
1b10421
Merge pull request #95 from trz42/fix_bugs_in_check_result_script
poksumdo Apr 21, 2023
1bd2166
prepare for next pilot version (2023.04)
truib Apr 21, 2023
2c5b3d9
add initial easystack file for 2023.04
truib Apr 21, 2023
1f1c76b
add GCC 10.3.0 to NESSI/2023.04
truib Apr 21, 2023
72219f2
add --robot to global EB command
truib Apr 21, 2023
7c05eff
patch gcc easyblock to work with https://github.com/gentoo/gentoo/pul…
truib Apr 21, 2023
3532ec8
use patched gcc easyblock when building gcc
truib Apr 21, 2023
f46e423
fix bug in easystack file
truib Apr 21, 2023
444e8e9
use single eb command to test special easyblock
truib Apr 21, 2023
d62323e
keep most sysroot modifications
truib Apr 21, 2023
5a33e5c
use opened easyblock PR 2921
truib Apr 21, 2023
61a4174
add --robot to main eb command
truib Apr 21, 2023
002a42d
Merge pull request #98 from trz42/add_robot_to_main_eb_command
poksumdo Apr 21, 2023
b8c86a4
Merge branch 'nessi.no-2023.04-dev' of gh-nessi:NorESSI/software-laye…
truib Apr 21, 2023
6775340
Merge pull request #96 from trz42/nessi.no-2023.04-GCC-10.3.0
poksumdo Apr 22, 2023
5b57ff7
add OpenSSL-1.1 to NESSI/2023.04
truib Apr 23, 2023
4a49ed7
add enhanced easyblock and use it via options in easystack file
truib Apr 23, 2023
fe78426
fix string formatting error
truib Apr 23, 2023
9fb6a4c
removed openssl_wrapper.py + using easyblock PR 2922 instead
truib Apr 23, 2023
f4e6b1d
Merge pull request #100 from trz42/nessi.no-2023.04-OpenSSL-1.1
poksumdo Apr 23, 2023
9772fb7
check if eb ran successful and redirect stderr
truib Apr 24, 2023
283a90d
Merge pull request #103 from trz42/nessi.no-2023.04-fix-installations…
trz42 Apr 24, 2023
0ba64f1
Adding CMake, Perl and OpenMPI with GCC/10.30.0 to NESSI/2023.04
Apr 25, 2023
1024fd7
Merge pull request #105 from TopRichard/nessi.no-2023.04-CMake-Perl-O…
trz42 Apr 27, 2023
c4f8cf4
Adding parse_hook to replace Rust/1.52.1 by Rust/1.60.0
May 3, 2023
fef52e4
Adding explanation in text mode
May 3, 2023
aefdafd
Modyfing script/removing additional comments
May 3, 2023
bffbd3d
modifying and enhancing the script after review by trz42
May 5, 2023
b2ce883
disable test that will always fail when replace Rust/1.52.1 with Rust…
truib May 10, 2023
cd977be
Merge pull request #12 from trz42/disable_gha_check_missing_script
TopRichard May 10, 2023
8774328
Merge pull request #106 from TopRichard/nessi.no-2023.04-Replace-Rust…
trz42 May 10, 2023
867392a
add OpenBLAS/0.3.15 with GCC/10.3.0 to NESSI/2023.04
truib May 10, 2023
657b86c
add easyblock file to repo and use it instead of *-from-pr
truib May 10, 2023
4a94993
fix race condition when building OpenBLAS
truib May 12, 2023
0909aac
ensure patch file name is same as in ec file
truib May 12, 2023
397b9e9
try a new patch adding targets to .NOTPARALLEL
truib May 12, 2023
b07d227
removing patch for OpenBLAS-0.3.15 + using --parallel 1 instead
truib May 12, 2023
94df2a2
'parallel: 1' doesn't work as option in easystack file
truib May 12, 2023
ea134c2
trying to put 1 in quotes in easystack file
truib May 13, 2023
dc11c9a
reintroducing new patch for OpenBLAS based on OpenBLAS/PR3983
truib May 13, 2023
35a9e27
Revert "reintroducing new patch for OpenBLAS based on OpenBLAS/PR3983"
truib May 13, 2023
13a15fa
clarify comment + cleanup obsolete else branch
truib May 13, 2023
3bc684e
try to use make v4.3 as build dependency for OpenBLAS
truib May 16, 2023
8655929
add easyconfig with additional build dependency
truib May 16, 2023
c9877fe
add improved check-result.sh script
truib May 16, 2023
18b5175
fix quoting for status messages
truib May 16, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 31 additions & 2 deletions .github/workflows/test_eessi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,19 @@ jobs:
cvmfs_http_proxy: DIRECT
cvmfs_repositories: pilot.eessi-hpc.org

- name: Test check_missing_installations.sh script
# - name: Test check_missing_installations.sh script
# run: |
# source /cvmfs/pilot.eessi-hpc.org/versions/${{matrix.EESSI_VERSION}}/init/bash
# module load EasyBuild
# eb --version
# export EESSI_PREFIX=/cvmfs/pilot.eessi-hpc.org/versions/${{matrix.EESSI_VERSION}}
# export EESSI_OS_TYPE=linux
# export EESSI_SOFTWARE_SUBDIR=${{matrix.EESSI_SOFTWARE_SUBDIR}}
# env | grep ^EESSI | sort
# echo "just run check_missing_installations.sh (should use eessi-${{matrix.EESSI_VERSION}}.yml)"
# ./check_missing_installations.sh

- name: Test check_missing_installations.sh with missing package (GCC/8.3.0)
run: |
source /cvmfs/pilot.eessi-hpc.org/versions/${{matrix.EESSI_VERSION}}/init/bash
module load EasyBuild
Expand All @@ -40,4 +52,21 @@ jobs:
export EESSI_OS_TYPE=linux
export EESSI_SOFTWARE_SUBDIR=${{matrix.EESSI_SOFTWARE_SUBDIR}}
env | grep ^EESSI | sort
./check_missing_installations.sh
echo "modify eessi-${{matrix.EESSI_VERSION}}.yml by adding a missing package (GCC/8.3.0)"
echo " GCC:" >> eessi-${{matrix.EESSI_VERSION}}.yml
echo " toolchains:" >> eessi-${{matrix.EESSI_VERSION}}.yml
echo " SYSTEM:" >> eessi-${{matrix.EESSI_VERSION}}.yml
echo " versions: '8.3.0'" >> eessi-${{matrix.EESSI_VERSION}}.yml
tail -n 4 eessi-${{matrix.EESSI_VERSION}}.yml
# note, check_missing_installations.sh exits 1 if a package was
# missing, which is intepreted as false (exit code based, not
# boolean logic), hence when the script exits 0 if no package was
# missing it is interpreted as true, thus the test did not capture
# the missing package
if ./check_missing_installations.sh; then
echo "did NOT capture missing package; test FAILED"
exit 1
else
echo "captured missing package; test PASSED"
exit 0
fi
253 changes: 28 additions & 225 deletions EESSI-pilot-install-software.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
#

# Script to install EESSI pilot software stack (version set through init/eessi_defaults)

# see example parsing of command line arguments at
Expand Down Expand Up @@ -137,7 +137,11 @@ else
echo_green ">> MODULEPATH set up: ${MODULEPATH}"
fi

REQ_EB_VERSION='4.5.0'
echo "EESSI_CVMFS_REPO=${EESSI_CVMFS_REPO}"

REQ_EB_VERSION='4.7.1'
echo "REQ_EB_VERSION=${REQ_EB_VERSION}"
module avail 2>&1 | grep -i easybuild

echo ">> Checking for EasyBuild module..."
ml_av_easybuild_out=$TMPDIR/ml_av_easybuild.out
Expand Down Expand Up @@ -165,10 +169,6 @@ else
eb --install-latest-eb-release &> ${eb_install_out}
check_exit_code $? "${ok_msg}" "${fail_msg}"

# restore origin $PATH and $PYTHONPATH values
export PATH=${ORIG_PATH}
export PYTHONPATH=${ORIG_PYTHONPATH}

eb --search EasyBuild-${REQ_EB_VERSION}.eb | grep EasyBuild-${REQ_EB_VERSION}.eb > /dev/null
if [[ $? -eq 0 ]]; then
ok_msg="EasyBuild v${REQ_EB_VERSION} installed, alright!"
Expand All @@ -177,6 +177,10 @@ else
check_exit_code $? "${ok_msg}" "${fail_msg}"
fi

# restore origin $PATH and $PYTHONPATH values
export PATH=${ORIG_PATH}
export PYTHONPATH=${ORIG_PYTHONPATH}

module avail easybuild/${REQ_EB_VERSION} &> ${ml_av_easybuild_out}
if [[ $? -eq 0 ]]; then
echo_green ">> EasyBuild module installed!"
Expand Down Expand Up @@ -206,232 +210,27 @@ fi

echo_green "All set, let's start installing some software in ${EASYBUILD_INSTALLPATH}..."

# install Java with fixed custom easyblock that uses patchelf to ensure right glibc is picked up,
# see https://github.com/EESSI/software-layer/issues/123
# and https://github.com/easybuilders/easybuild-easyblocks/pull/2557
ok_msg="Java installed, off to a good (?) start!"
fail_msg="Failed to install Java, woopsie..."
$EB Java-11.eb --robot --include-easyblocks-from-pr 2557
check_exit_code $? "${ok_msg}" "${fail_msg}"

# install GCC for foss/2020a
export GCC_EC="GCC-9.3.0.eb"
echo ">> Starting slow with ${GCC_EC}..."
ok_msg="${GCC_EC} installed, yippy! Off to a good start..."
fail_msg="Installation of ${GCC_EC} failed!"
# pull in easyconfig from https://github.com/easybuilders/easybuild-easyconfigs/pull/14453,
# which includes patch to fix build of GCC 9.3 when recent kernel headers are in place
$EB ${GCC_EC} --robot --from-pr 14453 GCCcore-9.3.0.eb
check_exit_code $? "${ok_msg}" "${fail_msg}"

# install CMake with custom easyblock that patches CMake when --sysroot is used
echo ">> Install CMake with fixed easyblock to take into account --sysroot"
ok_msg="CMake installed!"
fail_msg="Installation of CMake failed, what the ..."
$EB CMake-3.16.4-GCCcore-9.3.0.eb --robot --include-easyblocks-from-pr 2248
check_exit_code $? "${ok_msg}" "${fail_msg}"

# add OpenBLAS: requires special handling for GENERIC CPU targets
# If we're building OpenBLAS for GENERIC, we need https://github.com/easybuilders/easybuild-easyblocks/pull/1946
echo ">> Installing OpenBLAS..."
ok_msg="Done with OpenBLAS!"
fail_msg="Installation of OpenBLAS failed!"
# we need to specify --parallel 1 or run into weird linking issues supposedly
# introduced by GNU make v4.4, see for example
# https://github.com/xianyi/OpenBLAS/issues/3899 and https://github.com/xianyi/OpenBLAS/issues/3979
# a fix may be provided with https://github.com/xianyi/OpenBLAS/pull/3983
# the fix did not work, so only option seems to be --parallel 1
# another option seems to be to use make v4.3 as build dependency
if [[ $GENERIC -eq 1 ]]; then
echo ">> Installing OpenBLAS..."
ok_msg="Done with OpenBLAS (GENERIC architecture)!"
fail_msg="Installation of OpenBLAS (GENERIC architecture) failed!"
echo_yellow ">> Using https://github.com/easybuilders/easybuild-easyblocks/pull/1946 to build generic OpenBLAS."
openblas_include_easyblocks_from_pr="--include-easyblocks-from-pr 1946"
else
openblas_include_easyblocks_from_pr=''
fi
$EB $openblas_include_easyblocks_from_pr OpenBLAS-0.3.9-GCC-9.3.0.eb --robot
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing OpenMPI..."
ok_msg="OpenMPI installed, w00!"
fail_msg="Installation of OpenMPI failed, that's not good..."
$EB OpenMPI-4.0.3-GCC-9.3.0.eb --robot
check_exit_code $? "${ok_msg}" "${fail_msg}"

# install Python
echo ">> Install Python 2.7.18 and Python 3.8.2..."
ok_msg="Python 2.7.18 and 3.8.2 installed, yaay!"
fail_msg="Installation of Python failed, oh no..."
$EB Python-2.7.18-GCCcore-9.3.0.eb Python-3.8.2-GCCcore-9.3.0.eb --robot
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing Perl..."
ok_msg="Perl installed, making progress..."
fail_msg="Installation of Perl failed, this never happens..."
# use enhanced Perl easyblock from https://github.com/easybuilders/easybuild-easyblocks/pull/2640
# to avoid trouble when using long installation prefix (for example with EESSI pilot 2021.12 on skylake_avx512...)
$EB Perl-5.30.2-GCCcore-9.3.0.eb --robot --include-easyblocks-from-pr 2640
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing Qt5..."
ok_msg="Qt5 installed, phieuw, that was a big one!"
fail_msg="Installation of Qt5 failed, that's frustrating..."
$EB Qt5-5.14.1-GCCcore-9.3.0.eb --robot
check_exit_code $? "${ok_msg}" "${fail_msg}"

# skip test step when installing SciPy-bundle on aarch64,
# to dance around problem with broken numpy tests;
# cfr. https://github.com/easybuilders/easybuild-easyconfigs/issues/11959
echo ">> Installing SciPy-bundle"
ok_msg="SciPy-bundle installed, yihaa!"
fail_msg="SciPy-bundle installation failed, bummer..."
SCIPY_EC=SciPy-bundle-2020.03-foss-2020a-Python-3.8.2.eb
if [[ "$(uname -m)" == "aarch64" ]]; then
$EB $SCIPY_EC --robot --skip-test-step
else
$EB $SCIPY_EC --robot
fi
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing GROMACS..."
ok_msg="GROMACS installed, wow!"
fail_msg="Installation of GROMACS failed, damned..."
$EB GROMACS-2020.1-foss-2020a-Python-3.8.2.eb GROMACS-2020.4-foss-2020a-Python-3.8.2.eb --robot
check_exit_code $? "${ok_msg}" "${fail_msg}"

# note: compiling OpenFOAM is memory hungry (16GB is not enough with 8 cores)!
# 32GB is sufficient to build with 16 cores
echo ">> Installing OpenFOAM (twice!)..."
ok_msg="OpenFOAM installed, now we're talking!"
fail_msg="Installation of OpenFOAM failed, we were so close..."
$EB OpenFOAM-8-foss-2020a.eb OpenFOAM-v2006-foss-2020a.eb --robot
check_exit_code $? "${ok_msg}" "${fail_msg}"

if [ ! "${EESSI_CPU_FAMILY}" = "ppc64le" ]; then
echo ">> Installing QuantumESPRESSO..."
ok_msg="QuantumESPRESSO installed, let's go quantum!"
fail_msg="Installation of QuantumESPRESSO failed, did somebody observe it?!"
$EB QuantumESPRESSO-6.6-foss-2020a.eb --robot
$EB --include-easyblocks easyblocks/o/openblas-pr1946-cc74e45.py OpenBLAS-0.3.15-GCC-10.3.0.eb --robot
check_exit_code $? "${ok_msg}" "${fail_msg}"
fi

echo ">> Installing R 4.0.0 (better be patient)..."
ok_msg="R installed, wow!"
fail_msg="Installation of R failed, so sad..."
$EB R-4.0.0-foss-2020a.eb --robot --parallel-extensions-install --experimental
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing Bioconductor 3.11 bundle..."
ok_msg="Bioconductor installed, enjoy!"
fail_msg="Installation of Bioconductor failed, that's annoying..."
$EB R-bundle-Bioconductor-3.11-foss-2020a-R-4.0.0.eb --robot
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing TensorFlow 2.3.1..."
ok_msg="TensorFlow 2.3.1 installed, w00!"
fail_msg="Installation of TensorFlow failed, why am I not surprised..."
$EB TensorFlow-2.3.1-foss-2020a-Python-3.8.2.eb --robot --include-easyblocks-from-pr 2218
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing Horovod 0.21.3..."
ok_msg="Horovod installed! Go do some parallel training!"
fail_msg="Horovod installation failed. There comes the headache..."
$EB Horovod-0.21.3-foss-2020a-TensorFlow-2.3.1-Python-3.8.2.eb --robot
check_exit_code $? "${ok_msg}" "${fail_msg}"

if [ ! "${EESSI_CPU_FAMILY}" = "ppc64le" ]; then

echo ">> Installing code-server 3.7.3..."
ok_msg="code-server 3.7.3 installed, now you can use VS Code!"
fail_msg="Installation of code-server failed, that's going to be hard to fix..."
$EB code-server-3.7.3.eb --robot
check_exit_code $? "${ok_msg}" "${fail_msg}"
fi
eb_install_easystack_out=${TMPDIR}/eb_install_easystack.out
${EB:-eb} --robot --easystack eessi-${EESSI_PILOT_VERSION}.yml --experimental | tee ${eb_install_easystack_out}

echo ">> Installing RStudio-Server 1.3.1093..."
ok_msg="RStudio-Server installed, enjoy!"
fail_msg="Installation of RStudio-Server failed, might be OS deps..."
$EB RStudio-Server-1.3.1093-foss-2020a-Java-11-R-4.0.0.eb --robot
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing OSU-Micro-Benchmarks 5.6.3..."
ok_msg="OSU-Micro-Benchmarks installed, yihaa!"
fail_msg="Installation of OSU-Micro-Benchmarks failed, that's unexpected..."
$EB OSU-Micro-Benchmarks-5.6.3-gompi-2020a.eb -r
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing Spark 3.1.1..."
ok_msg="Spark installed, set off the fireworks!"
fail_msg="Installation of Spark failed, no fireworks this time..."
$EB Spark-3.1.1-foss-2020a-Python-3.8.2.eb -r
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing IPython 7.15.0..."
ok_msg="IPython installed, launch your Jupyter Notebooks!"
fail_msg="Installation of IPython failed, that's unexpected..."
$EB IPython-7.15.0-foss-2020a-Python-3.8.2.eb -r
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing WRF 3.9.1.1..."
ok_msg="WRF installed, it's getting hot in here!"
fail_msg="Installation of WRF failed, that's unexpected..."
OMPI_MCA_pml=ucx UCX_TLS=tcp $EB WRF-3.9.1.1-foss-2020a-dmpar.eb -r --include-easyblocks-from-pr 2648
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing R 4.1.0 (better be patient)..."
ok_msg="R installed, wow!"
fail_msg="Installation of R failed, so sad..."
$EB --from-pr 14821 X11-20210518-GCCcore-10.3.0.eb -r && $EB --from-pr 16011 R-4.1.0-foss-2021a.eb --robot --parallel-extensions-install --experimental
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing Nextflow 22.10.1..."
ok_msg="Nextflow installed, the work must flow..."
fail_msg="Installation of Nextflow failed, that's unexpected..."
$EB -r --from-pr 16531 Nextflow-22.10.1.eb
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing OSU-Micro-Benchmarks/5.7.1-gompi-2021a..."
ok_msg="OSU-Micro-Benchmarks installed, yihaa!"
fail_msg="Installation of OSU-Micro-Benchmarks failed, that's unexpected..."
$EB OSU-Micro-Benchmarks-5.7.1-gompi-2021a.eb -r
check_exit_code $? "${ok_msg}" "${fail_msg}"

echo ">> Installing EasyBuild 4.5.1..."
ok_msg="EasyBuild v4.5.1 installed"
fail_msg="EasyBuild v4.5.1 failed to install"
$EB --from-pr 14545 --include-easyblocks-from-pr 2805
check_exit_code $? "${ok_msg}" "${fail_msg}"

LMOD_IGNORE_CACHE=1 module swap EasyBuild/4.5.1
check_exit_code $? "Swapped to EasyBuild/4.5.1" "Couldn't swap to EasyBuild/4.5.1"

echo ">> Installing SciPy-bundle with foss/2021a..."
ok_msg="SciPy-bundle with foss/2021a installed, welcome to the modern age"
fail_msg="Installation of SciPy-bundle with foss/2021a failed, back to the stone age..."
# use GCCcore easyconfig from https://github.com/easybuilders/easybuild-easyconfigs/pull/14454
# which includes patch to fix installation with recent Linux kernel headers
$EB --from-pr 14454 GCCcore-10.3.0.eb --robot
# use enhanced Perl easyblock from https://github.com/easybuilders/easybuild-easyblocks/pull/2640
# to avoid trouble when using long installation prefix (for example with EESSI pilot 2021.12 on skylake_avx512...)
$EB Perl-5.32.1-GCCcore-10.3.0.eb --robot --include-easyblocks-from-pr 2640
# use enhanced CMake easyblock to patch CMake's UnixPaths.cmake script if --sysroot is set
# from https://github.com/easybuilders/easybuild-easyblocks/pull/2248
$EB CMake-3.20.1-GCCcore-10.3.0.eb --robot --include-easyblocks-from-pr 2248
# use Rust easyconfig from https://github.com/easybuilders/easybuild-easyconfigs/pull/14584
# that includes patch to fix bootstrap problem when using alternate sysroot
$EB --from-pr 14584 Rust-1.52.1-GCCcore-10.3.0.eb --robot
# use OpenBLAS easyconfig from https://github.com/easybuilders/easybuild-easyconfigs/pull/15885
# which includes a patch to fix installation on POWER
$EB $openblas_include_easyblocks_from_pr --from-pr 15885 OpenBLAS-0.3.15-GCC-10.3.0.eb --robot
# ignore failing FlexiBLAS tests when building on POWER;
# some tests are failing due to a segmentation fault due to "invalid memory reference",
# see also https://github.com/easybuilders/easybuild-easyconfigs/pull/12476;
# using -fstack-protector-strong -fstack-clash-protection should fix that,
# but it doesn't for some reason when building for ppc64le/generic...
if [ "${EESSI_SOFTWARE_SUBDIR}" = "ppc64le/generic" ]; then
$EB FlexiBLAS-3.0.4-GCC-10.3.0.eb --ignore-test-failure
else
$EB FlexiBLAS-3.0.4-GCC-10.3.0.eb
fi

$EB SciPy-bundle-2021.05-foss-2021a.eb --robot
check_exit_code $? "${ok_msg}" "${fail_msg}"

### add packages here

echo ">> Creating/updating Lmod cache..."
echo ">> Creating/updating Lmod cache on $(date) (nr 1) ..."
export LMOD_RC="${EASYBUILD_INSTALLPATH}/.lmod/lmodrc.lua"
if [ ! -f $LMOD_RC ]; then
python3 $TOPDIR/create_lmodrc.py ${EASYBUILD_INSTALLPATH}
Expand All @@ -442,5 +241,9 @@ $TOPDIR/update_lmod_cache.sh ${EPREFIX} ${EASYBUILD_INSTALLPATH}

$TOPDIR/check_missing_installations.sh

# TODO do not clean up by default (or provide a cmd line arg and when run
# from bot, do not clean up)
echo ">> Cleaning up ${TMPDIR}..."
rm -r ${TMPDIR}

exit 0
39 changes: 39 additions & 0 deletions OpenBLAS-0.3.15-GCC-10.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name = 'OpenBLAS'
version = '0.3.15'

homepage = 'https://xianyi.github.com/OpenBLAS/'
description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version."

toolchain = {'name': 'GCC', 'version': '10.3.0'}

source_urls = [
# order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble
'https://www.netlib.org/lapack/timing/',
'https://github.com/xianyi/OpenBLAS/archive/',
]
sources = ['v%(version)s.tar.gz']
patches = [
('large.tgz', '.'),
('timing.tgz', '.'),
'OpenBLAS-%(version)s_icelake-detection.patch',
'OpenBLAS-%(version)s_fix-aarch64.patch',
'OpenBLAS-%(version)s_workaround-gcc-miscompilation.patch',
]
checksums = [
'30a99dec977594b387a17f49904523e6bc8dd88bd247266e83485803759e4bbe', # v0.3.15.tar.gz
'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1', # large.tgz
'999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af', # timing.tgz
'aa96e1c3b1532dbafe4b6e8591688ef200e99304a902851f342cb9d467219762', # OpenBLAS-0.3.15_icelake-detection.patch
'ba7bd45af9fe0516f8c9b1cf047eec7b833996e481bc925d4fb2563865d3db38', # OpenBLAS-0.3.15_fix-aarch64.patch
# OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch
'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971',
]

builddependencies = [
('make', '4.3'),
]

# extensive testing can be enabled by uncommenting the line below
# runtest = 'PATH=.:$PATH lapack-timing'

moduleclass = 'numlib'
Loading