Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: EESSI/software-layer
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2023.06-software.eessi.io
Choose a base ref
...
head repository: trz42/software-layer
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: nessi-2023.06-ipympl-0.9.3-2023a
Choose a head ref
Can’t automatically merge. Don’t worry, you can still create the pull request.

Commits on Jun 16, 2023

  1. Copy the full SHA
    5abf2ca View commit details
  2. Copy the full SHA
    8abf2c2 View commit details
  3. always use --experimental

    truib committed Jun 16, 2023
    Copy the full SHA
    c58d176 View commit details
  4. update eb hooks

    truib committed Jun 16, 2023
    Copy the full SHA
    b9ca155 View commit details
  5. order functions alphabetically

    truib committed Jun 16, 2023
    Copy the full SHA
    8b99626 View commit details
  6. Copy the full SHA
    fe29013 View commit details
  7. bump version

    truib committed Jun 16, 2023
    Copy the full SHA
    c402acd View commit details
  8. Copy the full SHA
    a3e696b View commit details
  9. Copy the full SHA
    5bb31a4 View commit details

Commits on Jun 18, 2023

  1. add tarball details to comment

    truib committed Jun 18, 2023
    Copy the full SHA
    1593a4b View commit details
  2. update and bug fixes

    truib committed Jun 18, 2023
    Copy the full SHA
    61f8280 View commit details
  3. Merge pull request #125 from trz42/nessi.no-2023.06-init-and-add-Easy…

    …Build-4.7.2
    
    init stack NESSI/2023.06
    trz42 authored Jun 18, 2023
    Copy the full SHA
    d234e9e View commit details

Commits on Jun 19, 2023

  1. Addig OpenSSL/1.1-GCC/10.3.0 to NESSI/2023.06

    Richard Top committed Jun 19, 2023
    Copy the full SHA
    399839b View commit details
  2. Addig the missing :

    Richard Top committed Jun 19, 2023
    Copy the full SHA
    019a6d5 View commit details
  3. Altered the EESSI-pilot-install-software.sh and removed the missing-m…

    …odules
    Richard Top committed Jun 19, 2023
    Copy the full SHA
    b9f0a64 View commit details
  4. Merge pull request #126 from TopRichard/nessi.no-2023.06-OpenSSL-1.1-…

    …GCC-10.3.0
    
    Addig OpenSSL/1.1-GCC/10.3.0 to NESSI/2023.06
    trz42 authored Jun 19, 2023
    Copy the full SHA
    53bac8a View commit details

Commits on Jun 20, 2023

  1. Copy the full SHA
    7a1d7bb View commit details

Commits on Jun 22, 2023

  1. Merge pull request #131 from TopRichard/nessi.no-2023.06-Rust-foss-2021a

    Adding CMake/3.20-Rust/1.52.1-foss/2021a to NESSI/2023.06
    trz42 authored Jun 22, 2023
    Copy the full SHA
    0dc3747 View commit details
  2. Adding GROMACS/2021.3 with foss/2021a to NESSI/2023.06

    Richard Top committed Jun 22, 2023
    Copy the full SHA
    a6ded78 View commit details

Commits on Jun 23, 2023

  1. Copy the full SHA
    7f0ea8d View commit details

Commits on Jun 26, 2023

  1. Merge branch 'eessi-2023.06' into nessi-eessi-sync-2023.06

    attempt to sync NESSI/2023.06 with EESSI/2023.06
    truib committed Jun 26, 2023
    Copy the full SHA
    21d63a4 View commit details
  2. set default repo to NESSI

    truib committed Jun 26, 2023
    Copy the full SHA
    9da2587 View commit details
  3. Merge pull request #135 from trz42/nessi-eessi-sync-2023.06

    pull in upstream changes
    poksumdo authored Jun 26, 2023
    Copy the full SHA
    ef8df11 View commit details

Commits on Jun 27, 2023

  1. Copy the full SHA
    d9865b5 View commit details
  2. Merge pull request #133 from TopRichard/nessi.no-2023.06-QuantumESPRE…

    …SSO/6.7-foss/2021a
    
    Adding QuantumESPRESSO/6.7 with foss/2021a to NESSI/2023.06
    TopRichard authored Jun 27, 2023
    Copy the full SHA
    903fff7 View commit details
  3. Copy the full SHA
    d64afc0 View commit details
  4. Merge pull request #136 from trz42/fix_failing_GHA_test

    use NESSI specific cfg packages & settings in test
    poksumdo authored Jun 27, 2023
    Copy the full SHA
    b8dd385 View commit details
  5. only add GCC/11.2.0

    truib committed Jun 27, 2023
    Copy the full SHA
    dd7bbe8 View commit details
  6. Copy the full SHA
    56758fc View commit details
  7. Copy the full SHA
    74303ba View commit details
  8. Copy the full SHA
    edb65b3 View commit details
  9. Merge pull request #138 from trz42/nessi-23.06-sync-test-27jun23

    added comment to create PR for testing bots
    poksumdo authored Jun 27, 2023
    Copy the full SHA
    0c72ff6 View commit details
  10. Copy the full SHA
    c6e546a View commit details
  11. add GCC/11.3.0 to NESSI/2023.06

    truib committed Jun 27, 2023
    Copy the full SHA
    3c4f485 View commit details

Commits on Jun 28, 2023

  1. Copy the full SHA
    3d039f7 View commit details
  2. Copy the full SHA
    546941e View commit details
  3. Merge pull request #139 from trz42/nessi-23.06-GCC-11.3.0

    {23.06} GCC/11.3.0
    poksumdo authored Jun 28, 2023
    Copy the full SHA
    3962582 View commit details
  4. Copy the full SHA
    044e659 View commit details
  5. {2023.06}[foss/2021a] WRF-dmpar V4.3

    Richard Top committed Jun 28, 2023
    Copy the full SHA
    a8b9fb9 View commit details
  6. Merge pull request #137 from trz42/nessi-23.06-GCC-11.2.0

    {23.06} GCC/11.2.0
    poksumdo authored Jun 28, 2023
    Copy the full SHA
    314100b View commit details
  7. add GCC/12.2.0 to NESSI/2023.06

    truib committed Jun 28, 2023
    Copy the full SHA
    61d3648 View commit details
  8. Merge pull request #142 from trz42/nessi-23.06-GCC-12.2.0

    {23.06} GCC/12.2.0
    poksumdo authored Jun 28, 2023
    Copy the full SHA
    f862f80 View commit details
  9. Copy the full SHA
    540dd65 View commit details
  10. Copy the full SHA
    e911c2b View commit details
  11. Copy the full SHA
    7712901 View commit details

Commits on Jun 29, 2023

  1. Merge pull request #143 from trz42/nessi-23.06-foss-2021b-part1

    {23.06}[foss/2021b] CMake + OpenMPI + FFTW + BLIS
    poksumdo authored Jun 29, 2023
    Copy the full SHA
    8eadb7d View commit details
  2. Copy the full SHA
    00736e9 View commit details
  3. Merge pull request #144 from trz42/nessi-23.06-foss-2022a-part1

    {23.06}[foss/2022a] CMake + OpenMPI + FFTW.MPI + BLIS
    poksumdo authored Jun 29, 2023
    Copy the full SHA
    ffb3ca4 View commit details
  4. Copy the full SHA
    f9c8dba View commit details
  5. Merge pull request #145 from trz42/nessi-23.06-foss-2022b-part1

    {23.06}[foss/2022b] CMake + OpenMPI + FFTW.MPI + BLIS
    poksumdo authored Jun 29, 2023
    Copy the full SHA
    24b355f View commit details
Showing with 4,018 additions and 1,076 deletions.
  1. +1 −1 .github/workflows/scorecards.yml
  2. +82 −0 .github/workflows/test-pilot.nessi.no.yml
  3. +0 −73 .github/workflows/test_eessi.yml
  4. +9 −9 .github/workflows/test_eessi_container_script.yml
  5. +20 −0 .github/workflows/test_licenses.yml
  6. +3 −3 .github/workflows/tests.yml
  7. +44 −8 .github/workflows/tests_archdetect.yml
  8. +3 −3 .github/workflows/tests_init.yml
  9. +3 −3 .github/workflows/tests_readme.yml
  10. +46 −14 .github/workflows/tests_scripts.yml
  11. +284 −0 EESSI-install-software.sh
  12. +0 −174 EESSI-pilot-install-software.sh
  13. +134 −0 EESSI-remove-software.sh
  14. +12 −12 README.md
  15. +0 −231 bot/bot-eessi-aws-citc.cfg
  16. +98 −18 bot/build.sh
  17. +92 −52 bot/check-build.sh
  18. +205 −0 bot/check-test.sh
  19. +446 −0 bot/inspect.sh
  20. +225 −0 bot/test.sh
  21. +0 −69 build_container.sh
  22. +46 −4 check_missing_installations.sh
  23. +1 −1 configure_easybuild
  24. +5 −5 create_directory_tarballs.sh
  25. +1 −0 create_lmodrc.py
  26. +183 −0 create_lmodsitepackage.py
  27. +25 −13 create_tarball.sh
  28. +7 −0 easystacks/pilot.nessi.no/2023.06/README.md
  29. +28 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.7.2-2021a.yml
  30. +18 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.7.2-2021b.yml
  31. +12 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.7.2-2022a.yml
  32. +12 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.7.2-2022b.yml
  33. +4 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.7.2-system.yml
  34. +4 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.8.0-system.yml
  35. +66 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.8.1-2022a.yml
  36. +6 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.8.1-system.yml
  37. +3 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.8.2-2022a.yml
  38. +9 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.0-001-system.yml
  39. +6 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.0-2022a.yml
  40. +7 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.0-2022b.yml
  41. +59 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml
  42. +15 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.0-2023b.yml
  43. +4 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.1-001-system.yml
  44. +5 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.1-2022b.yml
  45. +14 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.1-2023a.yml
  46. +2 −0 easystacks/pilot.nessi.no/2023.06/eessi-2023.06-eb-4.9.1-2023b.yml
  47. +12 −0 easystacks/pilot.nessi.no/2023.06/rebuilds/20240412-eb-4.9.1-GCCcore-fix-aarch64-vectorization.yml
  48. +10 −0 easystacks/pilot.nessi.no/2023.06/rebuilds/20240413-eb-4.9.1-OpenMPI-4.1.x-fix-smcuda.yml
  49. +484 −3 eb_hooks.py
  50. +0 −53 eessi-2021.06.yml
  51. +0 −69 eessi-2021.12.yml
  52. +0 −9 eessi-2023.06-eb-4.7.2-2021a.yml
  53. +0 −9 eessi-2023.06-eb-4.7.2-2021b.yml
  54. +0 −2 eessi-2023.06-eb-4.7.2-2022a.yml
  55. +48 −0 eessi-2023.06-known-issues.yml
  56. +108 −24 eessi_container.sh
  57. +2 −2 init/Magic_Castle/bash
  58. +4 −4 init/Magic_Castle/{eessi_pilot_python3 → eessi_python3}
  59. +5 −5 init/README.md
  60. +4 −4 init/arch_specs/eessi_arch_arm.spec
  61. +5 −2 init/arch_specs/eessi_arch_x86.spec
  62. +17 −17 init/bash
  63. +23 −13 init/eessi_archdetect.sh
  64. +5 −2 init/eessi_defaults
  65. +50 −27 init/eessi_environment_variables
  66. +1 −1 init/eessi_software_subdir_for_host.py
  67. +3 −3 init/minimal_eessi_env
  68. +3 −2 install_apptainer_ubuntu.sh
  69. +115 −0 install_scripts.sh
  70. +1 −1 install_software_layer.sh
  71. +3 −0 licenses/README.md
  72. +10 −0 licenses/licenses.json
  73. +100 −0 licenses/spdx.py
  74. +19 −12 load_easybuild_module.sh
  75. +59 −0 reframe_config_bot.py.tmpl
  76. +9 −6 run_in_compat_layer_env.sh
  77. +24 −0 run_tests.sh
  78. +211 −0 scripts/gpu_support/nvidia/install_cuda_host_injections.sh
  79. +144 −0 scripts/gpu_support/nvidia/link_nvidia_host_libraries.sh
  80. +51 −5 scripts/utils.sh
  81. +208 −0 test_suite.sh
  82. +0 −8 tests/archdetect/aarch64/arm/neoverse-n1/AWS-awslinux-graviton2.cpuinfo
  83. +0 −1 tests/archdetect/aarch64/arm/neoverse-n1/AWS-awslinux-graviton2.output
  84. +0 −30 tests/archdetect/aarch64/arm/neoverse-n1/Azure-Ubuntu20-Altra.cpuinfo
  85. +0 −1 tests/archdetect/aarch64/arm/neoverse-n1/Azure-Ubuntu20-Altra.output
  86. +0 −8 tests/archdetect/aarch64/arm/neoverse-v1/AWS-awslinux-graviton3.cpuinfo
  87. +0 −1 tests/archdetect/aarch64/arm/neoverse-v1/AWS-awslinux-graviton3.output
  88. +0 −4 tests/archdetect/ppc64le/power9le/unknown-power9le.cpuinfo
  89. +0 −1 tests/archdetect/ppc64le/power9le/unknown-power9le.output
  90. +1 −0 tests/archdetect/x86_64/amd/zen2/Azure-CentOS7-7V12.all.output
  91. +0 −27 tests/archdetect/x86_64/amd/zen3/Azure-CentOS7-7V73X.cpuinfo
  92. +0 −1 tests/archdetect/x86_64/amd/zen3/Azure-CentOS7-7V73X.output
  93. +1 −0 tests/archdetect/x86_64/intel/broadwell/archspec-linux-E5-2683-v4.all.output
  94. +27 −0 tests/archdetect/x86_64/intel/broadwell/archspec-linux-E5-2683-v4.cpuinfo
  95. +1 −0 tests/archdetect/x86_64/intel/broadwell/archspec-linux-E5-2683-v4.output
  96. +0 −25 tests/archdetect/x86_64/intel/haswell/archspec-linux-E5-2680-v3.cpuinfo
  97. +0 −1 tests/archdetect/x86_64/intel/haswell/archspec-linux-E5-2680-v3.output
  98. +1 −0 tests/archdetect/x86_64/intel/skylake_avx512/archspec-linux-6132.all.output
2 changes: 1 addition & 1 deletion .github/workflows/scorecards.yml
Original file line number Diff line number Diff line change
@@ -35,7 +35,7 @@ jobs:

steps:
- name: "Checkout code"
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
persist-credentials: false

82 changes: 82 additions & 0 deletions .github/workflows/test-pilot.nessi.no.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions
name: Check for missing software installations in pilot.nessi.no
on: [push, pull_request, workflow_dispatch]
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
check_missing:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
EESSI_VERSION:
- 2023.06
EESSI_SOFTWARE_SUBDIR_OVERRIDE:
# - aarch64/generic
- x86_64/amd/zen2
- x86_64/intel/broadwell
- x86_64/intel/skylake_avx512
- x86_64/generic
steps:
- name: Check out software-layer repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1

- name: Mount NESSI CernVM-FS repository
uses: cvmfs-contrib/github-action-cvmfs@55899ca74cf78ab874bdf47f5a804e47c198743c # v4.0
with:
cvmfs_config_package: https://github.com/NorESSI/filesystem-layer/releases/download/latest/cvmfs-config-nessi_latest_all.deb
cvmfs_http_proxy: DIRECT
cvmfs_repositories: pilot.nessi.no

- name: Test check_missing_installations.sh script
run: |
export EESSI_SOFTWARE_SUBDIR_OVERRIDE=${{matrix.EESSI_SOFTWARE_SUBDIR_OVERRIDE}}
source /cvmfs/pilot.nessi.no/versions/${{matrix.EESSI_VERSION}}/init/bash
# set $EESSI_CPU_FAMILY to the CPU architecture that corresponds to $EESSI_SOFTWARE_SUBDIR_OVERRIDE (part before the first slash),
# to prevent issues with checks in the Easybuild configuration that use this variable
export EESSI_CPU_FAMILY=${EESSI_SOFTWARE_SUBDIR_OVERRIDE%%/*}
module load EasyBuild
which eb
eb --version
export EESSI_PREFIX=/cvmfs/pilot.nessi.no/versions/${{matrix.EESSI_VERSION}}
export EESSI_OS_TYPE=linux
env | grep ^EESSI | sort
echo "just run check_missing_installations.sh (should use easystacks/pilot.nessi.no/${{matrix.EESSI_VERSION}}/eessi-${{matrix.EESSI_VERSION}}-*.yml)"
for easystack_file in $(ls easystacks/pilot.nessi.no/${{matrix.EESSI_VERSION}}/eessi-${{matrix.EESSI_VERSION}}-eb-*.yml); do
echo "check missing installations for ${easystack_file}..."
./check_missing_installations.sh ${easystack_file}
ec=$?
if [[ ${ec} -ne 0 ]]; then echo "missing installations found for ${easystack_file}!" >&2; exit ${ec}; fi
done
- name: Test check_missing_installations.sh with missing package (GCC/8.3.0)
run: |
export EESSI_SOFTWARE_SUBDIR_OVERRIDE=${{matrix.EESSI_SOFTWARE_SUBDIR_OVERRIDE}}
source /cvmfs/pilot.nessi.no/versions/${{matrix.EESSI_VERSION}}/init/bash
# set $EESSI_CPU_FAMILY to the CPU architecture that corresponds to $EESSI_SOFTWARE_SUBDIR_OVERRIDE (part before the first slash),
# to prevent issues with checks in the Easybuild configuration that use this variable
export EESSI_CPU_FAMILY=${EESSI_SOFTWARE_SUBDIR_OVERRIDE%%/*}
module load EasyBuild
which eb
eb --version
export EESSI_PREFIX=/cvmfs/pilot.nessi.no/versions/${{matrix.EESSI_VERSION}}
export EESSI_OS_TYPE=linux
env | grep ^EESSI | sort
# create dummy easystack file with a single entry (something that is not installed in EESSI)
easystack_file="test.yml"
echo "easyconfigs:" > ${easystack_file}
echo " - GCC-8.3.0:" >> ${easystack_file}
echo "created easystack file '${easystack_file}' with a missing installation (GCC/8.3.0):"
cat ${easystack_file}
# 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 ${easystack_file}; then
echo "did NOT capture missing package; test FAILED"
exit 1
else
echo "captured missing package; test PASSED"
exit 0
fi
73 changes: 0 additions & 73 deletions .github/workflows/test_eessi.yml

This file was deleted.

18 changes: 9 additions & 9 deletions .github/workflows/test_eessi_container_script.yml
Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@ jobs:
#- save
steps:
- name: Check out software-layer repository
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1

- name: install Apptainer
run: |
@@ -45,7 +45,7 @@ jobs:
elif [[ ${{matrix.SCRIPT_TEST}} == 'listrepos_default' ]]; then
outfile=out_listrepos.txt
./eessi_container.sh --verbose --list-repos | tee ${outfile}
grep "EESSI-pilot" ${outfile}
grep "EESSI" ${outfile}
# test use of --list-repos with custom repos.cfg
elif [[ ${{matrix.SCRIPT_TEST}} == 'listrepos_custom' ]]; then
@@ -57,7 +57,7 @@ jobs:
echo "[EESSI/20HT.TP]" >> cfg/repos.cfg
echo "repo_version = 20HT.TP" >> cfg/repos.cfg
./eessi_container.sh --verbose --list-repos | tee ${outfile}
grep "EESSI-pilot" ${outfile}
grep "EESSI" ${outfile}
export EESSI_REPOS_CFG_DIR_OVERRIDE=${PWD}/cfg
./eessi_container.sh --verbose --list-repos | tee ${outfile2}
@@ -90,15 +90,15 @@ jobs:
elif [[ ${{matrix.SCRIPT_TEST}} == 'readwrite' ]]; then
outfile=out_readwrite.txt
fn="test_${RANDOM}.txt"
echo "touch /cvmfs/pilot.eessi-hpc.org/${fn}" > test_script.sh
echo "touch /cvmfs/pilot.nessi.no/${fn}" > test_script.sh
chmod u+x test_script.sh
export SINGULARITY_BIND="$PWD:/test"
./eessi_container.sh --verbose --access rw --mode run /test/test_script.sh > ${outfile}
tmpdir=$(grep "\-\-resume" ${outfile} | sed "s/.*--resume \([^']*\).*/\1/g")
# note: must use '--access rw' again here, since touched file is in overlay upper dir
./eessi_container.sh --verbose --resume ${tmpdir} --access rw --mode shell <<< "ls -l /cvmfs/pilot.eessi-hpc.org/${fn}" > ${outfile}
grep "/cvmfs/pilot.eessi-hpc.org/${fn}$" $outfile
./eessi_container.sh --verbose --resume ${tmpdir} --access rw --mode shell <<< "ls -l /cvmfs/pilot.nessi.no/${fn}" > ${outfile}
grep "/cvmfs/pilot.nessi.no/${fn}$" $outfile
# test use of --resume
elif [[ ${{matrix.SCRIPT_TEST}} == 'resume' ]]; then
@@ -120,12 +120,12 @@ jobs:
elif [[ ${{matrix.SCRIPT_TEST}} == 'save' ]]; then
outfile=out_save.txt
fn="test_${RANDOM}.txt"
test_cmd="touch /cvmfs/pilot.eessi-hpc.org/${fn}"
test_cmd="touch /cvmfs/pilot.nessi.no/${fn}"
./eessi_container.sh --verbose --mode shell --access rw --save test-save.tar <<< "${test_cmd}" 2>&1 | tee ${outfile}
rm -f ${outfile}
./eessi_container.sh --verbose --mode shell --access rw --resume test-save.tar <<< "ls -l /cvmfs/pilot.eessi-hpc.org/${fn}" > ${outfile}
grep "/cvmfs/pilot.eessi-hpc.org/${fn}$" $outfile
./eessi_container.sh --verbose --mode shell --access rw --resume test-save.tar <<< "ls -l /cvmfs/pilot.nessi.no/${fn}" > ${outfile}
grep "/cvmfs/pilot.nessi.no/${fn}$" $outfile
tar tfv test-save.tar | grep "overlay-upper/${fn}"
20 changes: 20 additions & 0 deletions .github/workflows/test_licenses.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions
name: Test software licenses
on: [push, pull_request]
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Check out software-layer repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1

- name: set up Python
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: '3.9'

- name: Check software licenses
run: |
python licenses/spdx.py licenses/licenses.json
6 changes: 3 additions & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -12,17 +12,17 @@ jobs:
fail-fast: false
steps:
- name: checkout
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1

- name: set up Python
uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984 # v4.3.0
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: ${{matrix.python}}
architecture: x64

- name: install Python packages
run: |
pip install archspec
pip install archspec==0.2.2
- name: test eessi_software_subdir.py script
run: |
52 changes: 44 additions & 8 deletions .github/workflows/tests_archdetect.yml
Original file line number Diff line number Diff line change
@@ -9,28 +9,64 @@ jobs:
strategy:
matrix:
proc_cpuinfo:
- x86_64/intel/haswell/archspec-linux-E5-2680-v3
- x86_64/intel/broadwell/archspec-linux-E5-2683-v4
- x86_64/intel/skylake_avx512/archspec-linux-6132
- x86_64/amd/zen2/Azure-CentOS7-7V12
- x86_64/amd/zen3/Azure-CentOS7-7V73X
- ppc64le/power9le/unknown-power9le
- aarch64/arm/neoverse-n1/Azure-Ubuntu20-Altra
- aarch64/arm/neoverse-n1/AWS-awslinux-graviton2
- aarch64/arm/neoverse-v1/AWS-awslinux-graviton3
# commented out since these targets are currently not supported in pilot.nessi.no repo
# (and some tests assume that the corresponding subdirectory in software layer is there)
# - aarch64/neoverse-n1/Azure-Ubuntu20-Altra
# - aarch64/neoverse-n1/AWS-awslinux-graviton2
# - aarch64/neoverse-v1/AWS-awslinux-graviton3
# - ppc64le/power9le/unknown-power9le
# - x86_64/intel/haswell/archspec-linux-E5-2680-v3
# - x86_64/amd/zen3/Azure-CentOS7-7V73X
fail-fast: false
steps:
- name: checkout
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1

- name: Mount NESSI CernVM-FS repository
uses: cvmfs-contrib/github-action-cvmfs@55899ca74cf78ab874bdf47f5a804e47c198743c # v4.0
with:
cvmfs_config_package: https://github.com/NorESSI/filesystem-layer/releases/download/latest/cvmfs-config-nessi_latest_all.deb
cvmfs_http_proxy: DIRECT
cvmfs_repositories: pilot.nessi.no

- name: test eessi_archdetect.sh
run: |
export EESSI_MACHINE_TYPE=${{matrix.proc_cpuinfo}}
export EESSI_MACHINE_TYPE=${EESSI_MACHINE_TYPE%%/*}
export EESSI_PROC_CPUINFO=./tests/archdetect/${{matrix.proc_cpuinfo}}.cpuinfo
# check that printing of best match works correctly
CPU_ARCH=$(./init/eessi_archdetect.sh cpupath)
if [[ $CPU_ARCH == "$( cat ./tests/archdetect/${{matrix.proc_cpuinfo}}.output )" ]]; then
echo "Test for ${{matrix.proc_cpuinfo}} PASSED: $CPU_ARCH" >&2
echo "Test for ${{matrix.proc_cpuinfo}} PASSED: $CPU_ARCH"
else
echo "Test for ${{matrix.proc_cpuinfo}} FAILED: $CPU_ARCH" >&2
exit 1
fi
# check that $EESSI_SOFTWARE_SUBDIR_OVERRIDE is honored
export EESSI_SOFTWARE_SUBDIR_OVERRIDE='dummy/cpu'
CPU_ARCH=$(./init/eessi_archdetect.sh cpupath)
if [[ $CPU_ARCH == "${EESSI_SOFTWARE_SUBDIR_OVERRIDE}" ]]; then
echo "Test for picking up on \$EESSI_SOFTWARE_SUBDIR_OVERRIDE PASSED"
else
echo "Test for picking up on \$EESSI_SOFTWARE_SUBDIR_OVERRIDE FAILED" >&2
exit 1
fi
unset EESSI_SOFTWARE_SUBDIR_OVERRIDE
# check that printing of all matches works correctly (-a option for cpupath action)
CPU_ARCHES=$(./init/eessi_archdetect.sh -a cpupath)
if [[ $CPU_ARCHES == "$( cat ./tests/archdetect/${{matrix.proc_cpuinfo}}.all.output )" ]]; then
echo "Test for ${{matrix.proc_cpuinfo}} PASSED: $CPU_ARCHES"
else
echo "Test for ${{matrix.proc_cpuinfo}} FAILED: $CPU_ARCHES" >&2
exit 1
fi
# Check all those architectures actually exist (if this NESSI version has been populated already)
if [ -d ${EESSI_PREFIX}/software/linux ]; then
for dir in $(echo "$CPU_ARCHES" | tr ':' '\n'); do
# Search all EESSI versions as we may drop support at some point
ls -d ${EESSI_PREFIX}/software/linux/${dir}
done
fi
6 changes: 3 additions & 3 deletions .github/workflows/tests_init.yml
Original file line number Diff line number Diff line change
@@ -12,17 +12,17 @@ jobs:
fail-fast: false
steps:
- name: checkout
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1

- name: set up Python
uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984 # v4.3.0
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: ${{matrix.python}}
architecture: x64

- name: install Python packages
run: |
pip install archspec pytest
pip install archspec==0.2.2 pytest
- name: unit tests for eessi_software_subdir_for_host.py script
run:
6 changes: 3 additions & 3 deletions .github/workflows/tests_readme.yml
Original file line number Diff line number Diff line change
@@ -17,12 +17,12 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: Check out software-layer repository
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1

- name: verify if README.md is consistent with EESSI_PILOT_VERSION from init/eessi_defaults
- name: verify if README.md is consistent with EESSI_VERSION from init/eessi_defaults
run: |
source init/eessi_defaults
grep "${EESSI_PILOT_VERSION}" README.md
grep "${EESSI_VERSION}" README.md
- name: verify if README.md is consistent with EESSI_CVMFS_REPO from init/eessi_defaults
run: |
Loading