software-layer icon indicating copy to clipboard operation
software-layer copied to clipboard

Map tests to software builds

Open casparvl opened this issue 1 year ago • 37 comments

The tests from the EESSI test suite that are run should depend on which software was built. This PR implements that functionality. Roughly speaking, it does the following:

  • Get the new modules from module_files.list.txt (in the tempdir)
  • Use yaml config file (software_to_test.yml) that maps regular expressions matching the (new) module names to a (list of) test(s) that need to be ran for that particular module name. First match in the yml file will be returned, so order is important.
  • A python code imports both the module_files.list.txt and software_to_test.yml, loops over all build software, each time executing the regular expression matches on the content of the software_to_test.yml, thus finding the tests that should be run for that particular module. If that test wasn't part of an aggregate list yet, it'll append it. Finally, the list is turned into a ReFrame argument string of the form e.g. -n EESSI_GROMACS -n EESSI_ESPRESSO, ... etc.
  • This argument list will be passed to the ReFrame command in the test step (TODO)

casparvl avatar Aug 19 '24 09:08 casparvl

Instance eessi-bot-mc-aws is configured to build for:

  • architectures: x86_64/generic, x86_64/intel/haswell, x86_64/intel/skylake_avx512, x86_64/amd/zen2, x86_64/amd/zen3, aarch64/generic, aarch64/neoverse_n1, aarch64/neoverse_v1
  • repositories: eessi.io-2023.06-compat, eessi-hpc.org-2023.06-software, eessi-hpc.org-2023.06-compat, eessi.io-2023.06-software

eessi-bot[bot] avatar Aug 19 '24 09:08 eessi-bot[bot]

Instance eessi-bot-mc-azure is configured to build for:

  • architectures: x86_64/amd/zen4
  • repositories: eessi.io-2023.06-compat, eessi-hpc.org-2023.06-compat, eessi-hpc.org-2023.06-software, eessi.io-2023.06-software

eessi-bot[bot] avatar Aug 19 '24 09:08 eessi-bot[bot]

bot: build repo:eessi.io-2023.06-software arch:zen3

casparvl avatar Aug 19 '24 10:08 casparvl

Updates by the bot instance eessi-bot-mc-aws (click for details)
  • received bot command build repo:eessi.io-2023.06-software arch:zen3 from casparvl

    • expanded format: build repository:eessi.io-2023.06-software architecture:zen3
  • handling command build repository:eessi.io-2023.06-software architecture:zen3 resulted in:

    • submitted job 16528, for details & status see https://github.com/EESSI/software-layer/pull/673#issuecomment-2296259476

eessi-bot[bot] avatar Aug 19 '24 10:08 eessi-bot[bot]

Updates by the bot instance eessi-bot-mc-azure (click for details)
  • received bot command build repo:eessi.io-2023.06-software arch:zen3 from casparvl

    • expanded format: build repository:eessi.io-2023.06-software architecture:zen3
  • handling command build repository:eessi.io-2023.06-software architecture:zen3 resulted in:

    • no jobs were submitted

eessi-bot[bot] avatar Aug 19 '24 10:08 eessi-bot[bot]

New job on instance eessi-bot-mc-aws for architecture x86_64-amd-zen3 for repository eessi.io-2023.06-software in job dir /project/def-users/SHARED/jobs/2024.08/pr_673/16528

date job status comment
Aug 19 10:39:11 UTC 2024 submitted job id 16528 awaits release by job manager
Aug 19 10:39:54 UTC 2024 released job awaits launch by Slurm scheduler
Aug 19 10:40:55 UTC 2024 running job 16528 is running
Aug 19 10:57:12 UTC 2024 finished
:cry: FAILURE (click triangle for details)
Details
:white_check_mark: job output file slurm-16528.out
:white_check_mark: no message matching ERROR:
:white_check_mark: no message matching FAILED:
:white_check_mark: no message matching required modules missing:
:white_check_mark: found message(s) matching No missing installations
:white_check_mark: found message matching .tar.gz created!
Artefacts
No artefacts were created or found.
Aug 19 10:57:12 UTC 2024 test result
:grin: SUCCESS (click triangle for details)
ReFrame Summary
[ PASSED ] Ran 18/18 test case(s) from 18 check(s) (0 failure(s), 0 skipped, 0 aborted)
Details
:white_check_mark: job output file slurm-16528.out
:white_check_mark: no message matching ERROR:
:white_check_mark: no message matching [\s*FAILED\s*].*Ran .* test case

eessi-bot[bot] avatar Aug 19 '24 10:08 eessi-bot[bot]

Hmmm... I guess dumping the module_file.list.txt in the current directory in the tarball step doesn't make it available in the test step. Maybe the working dirs are different. I'll try interactively to see what is going on.

ESC[32mSuccesfully ran 'reframe --version'ESC[0m
Loaded mappings from 'tests/eessi_test_mapping/software_to_tests.yml'
Traceback (most recent call last):
  File "/project/60006/SHARED/jobs/2024.08/pr_673/event_422aba90-5e17-11ef-9169-227fc6b2fccc/run_000/linux_x86_64_amd_zen3/eessi.io-2023.06-software/tests/eessi_test_mapping/map_software_to_test.py", line 78, in <module>
    main(args.mapping_file, args.module_list, args.debug)
  File "/project/60006/SHARED/jobs/2024.08/pr_673/event_422aba90-5e17-11ef-9169-227fc6b2fccc/run_000/linux_x86_64_amd_zen3/eessi.io-2023.06-software/tests/eessi_test_mapping/map_software_to_test.py", line 42, in main
    software_names = read_software_names(module_file)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/project/60006/SHARED/jobs/2024.08/pr_673/event_422aba90-5e17-11ef-9169-227fc6b2fccc/run_000/linux_x86_64_amd_zen3/eessi.io-2023.06-software/tests/eessi_test_mapping/map_software_to_test.py", line 17, in read_software_names
    raise FileNotFoundError(f"Error: {file_path} does not exist.")
FileNotFoundError: Error: module_file.list.txt does not exist.

casparvl avatar Aug 19 '24 12:08 casparvl

bot: build repo:eessi.io-2023.06-software arch:zen3

casparvl avatar Aug 19 '24 13:08 casparvl

Updates by the bot instance eessi-bot-mc-azure (click for details)
  • received bot command build repo:eessi.io-2023.06-software arch:zen3 from casparvl

    • expanded format: build repository:eessi.io-2023.06-software architecture:zen3
  • handling command build repository:eessi.io-2023.06-software architecture:zen3 resulted in:

    • no jobs were submitted

eessi-bot[bot] avatar Aug 19 '24 13:08 eessi-bot[bot]

Updates by the bot instance eessi-bot-mc-aws (click for details)
  • received bot command build repo:eessi.io-2023.06-software arch:zen3 from casparvl

    • expanded format: build repository:eessi.io-2023.06-software architecture:zen3
  • handling command build repository:eessi.io-2023.06-software architecture:zen3 resulted in:

    • submitted job 16635, for details & status see https://github.com/EESSI/software-layer/pull/673#issuecomment-2296566140

eessi-bot[bot] avatar Aug 19 '24 13:08 eessi-bot[bot]

New job on instance eessi-bot-mc-aws for architecture x86_64-amd-zen3 for repository eessi.io-2023.06-software in job dir /project/def-users/SHARED/jobs/2024.08/pr_673/16635

date job status comment
Aug 19 13:21:18 UTC 2024 submitted job id 16635 awaits release by job manager
Aug 19 13:21:26 UTC 2024 released job awaits launch by Slurm scheduler
Aug 19 13:27:29 UTC 2024 running job 16635 is running
Aug 19 13:42:46 UTC 2024 finished
:grin: SUCCESS (click triangle for details)
Details
:white_check_mark: job output file slurm-16635.out
:white_check_mark: no message matching ERROR:
:white_check_mark: no message matching FAILED:
:white_check_mark: no message matching required modules missing:
:white_check_mark: found message(s) matching No missing installations
:white_check_mark: found message matching .tar.gz created!
Artefacts
eessi-2023.06-software-linux-x86_64-amd-zen3-1724074082.tar.gzsize: 0 MiB (132484 bytes)
entries: 24
modules under 2023.06/software/linux/x86_64/amd/zen3/modules/all
patchelf/0.17.2-GCCcore-12.2.0.lua
software under 2023.06/software/linux/x86_64/amd/zen3/software
patchelf/0.17.2-GCCcore-12.2.0
other under 2023.06/software/linux/x86_64/amd/zen3
no other files in tarball
Aug 19 13:42:46 UTC 2024 test result
:grin: SUCCESS (click triangle for details)
ReFrame Summary
[ PASSED ] Ran 18/18 test case(s) from 18 check(s) (0 failure(s), 0 skipped, 0 aborted)
Details
:white_check_mark: job output file slurm-16635.out
:white_check_mark: no message matching ERROR:
:white_check_mark: no message matching [\s*FAILED\s*].*Ran .* test case

eessi-bot[bot] avatar Aug 19 '24 13:08 eessi-bot[bot]

bot: build repo:eessi.io-2023.06-software arch:zen2

casparvl avatar Aug 19 '24 13:08 casparvl

Updates by the bot instance eessi-bot-mc-aws (click for details)
  • received bot command build repo:eessi.io-2023.06-software arch:zen2 from casparvl

    • expanded format: build repository:eessi.io-2023.06-software architecture:zen2
  • handling command build repository:eessi.io-2023.06-software architecture:zen2 resulted in:

    • submitted job 16636, for details & status see https://github.com/EESSI/software-layer/pull/673#issuecomment-2296607512

eessi-bot[bot] avatar Aug 19 '24 13:08 eessi-bot[bot]

Updates by the bot instance eessi-bot-mc-azure (click for details)
  • received bot command build repo:eessi.io-2023.06-software arch:zen2 from casparvl

    • expanded format: build repository:eessi.io-2023.06-software architecture:zen2
  • handling command build repository:eessi.io-2023.06-software architecture:zen2 resulted in:

    • no jobs were submitted

eessi-bot[bot] avatar Aug 19 '24 13:08 eessi-bot[bot]

New job on instance eessi-bot-mc-aws for architecture x86_64-amd-zen2 for repository eessi.io-2023.06-software in job dir /project/def-users/SHARED/jobs/2024.08/pr_673/16636

date job status comment
Aug 19 13:40:28 UTC 2024 submitted job id 16636 awaits release by job manager
Aug 19 13:40:43 UTC 2024 released job awaits launch by Slurm scheduler
Aug 19 13:45:49 UTC 2024 running job 16636 is running
Aug 19 13:47:51 UTC 2024 finished
:grin: SUCCESS (click triangle for details)
Details
:white_check_mark: job output file slurm-16636.out
:white_check_mark: no message matching ERROR:
:white_check_mark: no message matching FAILED:
:white_check_mark: no message matching required modules missing:
:white_check_mark: found message(s) matching No missing installations
:white_check_mark: found message matching .tar.gz created!
Artefacts
eessi-2023.06-software-linux-x86_64-amd-zen2-1724075235.tar.gzsize: 0 MiB (132315 bytes)
entries: 24
modules under 2023.06/software/linux/x86_64/amd/zen2/modules/all
patchelf/0.17.2-GCCcore-12.2.0.lua
software under 2023.06/software/linux/x86_64/amd/zen2/software
patchelf/0.17.2-GCCcore-12.2.0
other under 2023.06/software/linux/x86_64/amd/zen2
no other files in tarball
Aug 19 13:47:51 UTC 2024 test result
:cry: FAILURE (click triangle for details)
Reason
EESSI test suite was not run, test step itself failed to execute.
Details
:white_check_mark: job output file slurm-16636.out
:x: found message matching ERROR:
:white_check_mark: no message matching [\s*FAILED\s*].*Ran .* test case

eessi-bot[bot] avatar Aug 19 '24 13:08 eessi-bot[bot]

bot: build repo:eessi.io-2023.06-software arch:zen2

casparvl avatar Aug 19 '24 13:08 casparvl

Updates by the bot instance eessi-bot-mc-aws (click for details)
  • received bot command build repo:eessi.io-2023.06-software arch:zen2 from casparvl

    • expanded format: build repository:eessi.io-2023.06-software architecture:zen2
  • handling command build repository:eessi.io-2023.06-software architecture:zen2 resulted in:

    • submitted job 16637, for details & status see https://github.com/EESSI/software-layer/pull/673#issuecomment-2296640960

eessi-bot[bot] avatar Aug 19 '24 13:08 eessi-bot[bot]

Updates by the bot instance eessi-bot-mc-azure (click for details)
  • received bot command build repo:eessi.io-2023.06-software arch:zen2 from casparvl

    • expanded format: build repository:eessi.io-2023.06-software architecture:zen2
  • handling command build repository:eessi.io-2023.06-software architecture:zen2 resulted in:

    • no jobs were submitted

eessi-bot[bot] avatar Aug 19 '24 13:08 eessi-bot[bot]

New job on instance eessi-bot-mc-aws for architecture x86_64-amd-zen2 for repository eessi.io-2023.06-software in job dir /project/def-users/SHARED/jobs/2024.08/pr_673/16637

date job status comment
Aug 19 13:54:41 UTC 2024 submitted job id 16637 awaits release by job manager
Aug 19 13:54:54 UTC 2024 released job awaits launch by Slurm scheduler
Aug 19 13:55:57 UTC 2024 running job 16637 is running
Aug 19 13:57:59 UTC 2024 finished
:grin: SUCCESS (click triangle for details)
Details
:white_check_mark: job output file slurm-16637.out
:white_check_mark: no message matching ERROR:
:white_check_mark: no message matching FAILED:
:white_check_mark: no message matching required modules missing:
:white_check_mark: found message(s) matching No missing installations
:white_check_mark: found message matching .tar.gz created!
Artefacts
eessi-2023.06-software-linux-x86_64-amd-zen2-1724075798.tar.gzsize: 0 MiB (131057 bytes)
entries: 24
modules under 2023.06/software/linux/x86_64/amd/zen2/modules/all
patchelf/0.17.2-GCCcore-12.2.0.lua
software under 2023.06/software/linux/x86_64/amd/zen2/software
patchelf/0.17.2-GCCcore-12.2.0
other under 2023.06/software/linux/x86_64/amd/zen2
no other files in tarball
Aug 19 13:57:59 UTC 2024 test result
:cry: FAILURE (click triangle for details)
Reason
Failed for unknown reason
Details
:white_check_mark: job output file slurm-16637.out
:white_check_mark: no message matching ERROR:
:white_check_mark: no message matching [\s*FAILED\s*].*Ran .* test case

eessi-bot[bot] avatar Aug 19 '24 13:08 eessi-bot[bot]

bot: build repo:eessi.io-2023.06-software arch:zen2

casparvl avatar Aug 19 '24 14:08 casparvl

Updates by the bot instance eessi-bot-mc-aws (click for details)
  • received bot command build repo:eessi.io-2023.06-software arch:zen2 from casparvl

    • expanded format: build repository:eessi.io-2023.06-software architecture:zen2
  • handling command build repository:eessi.io-2023.06-software architecture:zen2 resulted in:

    • submitted job 16638, for details & status see https://github.com/EESSI/software-layer/pull/673#issuecomment-2296700144

eessi-bot[bot] avatar Aug 19 '24 14:08 eessi-bot[bot]

Updates by the bot instance eessi-bot-mc-azure (click for details)
  • received bot command build repo:eessi.io-2023.06-software arch:zen2 from casparvl

    • expanded format: build repository:eessi.io-2023.06-software architecture:zen2
  • handling command build repository:eessi.io-2023.06-software architecture:zen2 resulted in:

    • no jobs were submitted

eessi-bot[bot] avatar Aug 19 '24 14:08 eessi-bot[bot]

New job on instance eessi-bot-mc-aws for architecture x86_64-amd-zen2 for repository eessi.io-2023.06-software in job dir /project/def-users/SHARED/jobs/2024.08/pr_673/16638

date job status comment
Aug 19 14:20:34 UTC 2024 submitted job id 16638 awaits release by job manager
Aug 19 14:21:03 UTC 2024 released job awaits launch by Slurm scheduler
Aug 19 14:22:05 UTC 2024 running job 16638 is running
Aug 19 14:25:09 UTC 2024 finished
:grin: SUCCESS (click triangle for details)
Details
:white_check_mark: job output file slurm-16638.out
:white_check_mark: no message matching ERROR:
:white_check_mark: no message matching FAILED:
:white_check_mark: no message matching required modules missing:
:white_check_mark: found message(s) matching No missing installations
:white_check_mark: found message matching .tar.gz created!
Artefacts
eessi-2023.06-software-linux-x86_64-amd-zen2-1724077376.tar.gzsize: 0 MiB (132200 bytes)
entries: 24
modules under 2023.06/software/linux/x86_64/amd/zen2/modules/all
patchelf/0.17.2-GCCcore-12.2.0.lua
software under 2023.06/software/linux/x86_64/amd/zen2/software
patchelf/0.17.2-GCCcore-12.2.0
other under 2023.06/software/linux/x86_64/amd/zen2
no other files in tarball
Aug 19 14:25:09 UTC 2024 test result
:grin: SUCCESS (click triangle for details)
ReFrame Summary
[ PASSED ] Ran 8/8 test case(s) from 8 check(s) (0 failure(s), 0 skipped, 0 aborted)
Details
:white_check_mark: job output file slurm-16638.out
:white_check_mark: no message matching ERROR:
:white_check_mark: no message matching [\s*FAILED\s*].*Ran .* test case

eessi-bot[bot] avatar Aug 19 '24 14:08 eessi-bot[bot]

bot: build repo:eessi.io-2023.06-software arch:zen2

casparvl avatar Aug 19 '24 14:08 casparvl

Updates by the bot instance eessi-bot-mc-aws (click for details)
  • received bot command build repo:eessi.io-2023.06-software arch:zen2 from casparvl

    • expanded format: build repository:eessi.io-2023.06-software architecture:zen2
  • handling command build repository:eessi.io-2023.06-software architecture:zen2 resulted in:

    • submitted job 16639, for details & status see https://github.com/EESSI/software-layer/pull/673#issuecomment-2296729291

eessi-bot[bot] avatar Aug 19 '24 14:08 eessi-bot[bot]

Updates by the bot instance eessi-bot-mc-azure (click for details)
  • received bot command build repo:eessi.io-2023.06-software arch:zen2 from casparvl

    • expanded format: build repository:eessi.io-2023.06-software architecture:zen2
  • handling command build repository:eessi.io-2023.06-software architecture:zen2 resulted in:

    • no jobs were submitted

eessi-bot[bot] avatar Aug 19 '24 14:08 eessi-bot[bot]

New job on instance eessi-bot-mc-aws for architecture x86_64-amd-zen2 for repository eessi.io-2023.06-software in job dir /project/def-users/SHARED/jobs/2024.08/pr_673/16639

date job status comment
Aug 19 14:32:56 UTC 2024 submitted job id 16639 awaits release by job manager
Aug 19 14:33:12 UTC 2024 released job awaits launch by Slurm scheduler
Aug 19 14:34:14 UTC 2024 running job 16639 is running
Aug 19 14:38:18 UTC 2024 finished
:grin: SUCCESS (click triangle for details)
Details
:white_check_mark: job output file slurm-16639.out
:white_check_mark: no message matching ERROR:
:white_check_mark: no message matching FAILED:
:white_check_mark: no message matching required modules missing:
:white_check_mark: found message(s) matching No missing installations
:white_check_mark: found message matching .tar.gz created!
Artefacts
eessi-2023.06-software-linux-x86_64-amd-zen2-1724078094.tar.gzsize: 0 MiB (132141 bytes)
entries: 24
modules under 2023.06/software/linux/x86_64/amd/zen2/modules/all
patchelf/0.17.2-GCCcore-12.2.0.lua
software under 2023.06/software/linux/x86_64/amd/zen2/software
patchelf/0.17.2-GCCcore-12.2.0
other under 2023.06/software/linux/x86_64/amd/zen2
no other files in tarball
Aug 19 14:38:18 UTC 2024 test result
:grin: SUCCESS (click triangle for details)
ReFrame Summary
[ PASSED ] Ran 8/8 test case(s) from 8 check(s) (0 failure(s), 0 skipped, 0 aborted)
Details
:white_check_mark: job output file slurm-16639.out
:white_check_mark: no message matching ERROR:
:white_check_mark: no message matching [\s*FAILED\s*].*Ran .* test case

eessi-bot[bot] avatar Aug 19 '24 14:08 eessi-bot[bot]

This looks like it should be:

Loaded mappings from 'tests/eessi_test_mapping/software_to_tests.yml'
Read software names from 'module_files.list.txt'
Software: patchelf/0.17.2-GCCcore-12.2.0 -> Tests: ['EESSI_OSU']
Adding default set of tests: ['EESSI_OSU']
Full list of tests to run: ['EESSI_OSU']
Argument string: -n EESSI_OSU
-n EESSI_OSU
ESC[32mSuccesfully extracted names of tests to run: -n EESSI_OSUESC[0m
Listing tests: reframe --tag CI --tag 1_node --nocolor -n EESSI_OSU --list

Just for the sake of argument, let me retry this with a change to the mapping file so that EESSI_ESPRESSO test's are also run for patchelf.

casparvl avatar Aug 19 '24 14:08 casparvl

bot: build repo:eessi.io-2023.06-software arch:zen2

casparvl avatar Aug 19 '24 14:08 casparvl

Updates by the bot instance eessi-bot-mc-aws (click for details)
  • received bot command build repo:eessi.io-2023.06-software arch:zen2 from casparvl

    • expanded format: build repository:eessi.io-2023.06-software architecture:zen2
  • handling command build repository:eessi.io-2023.06-software architecture:zen2 resulted in:

    • submitted job 16640, for details & status see https://github.com/EESSI/software-layer/pull/673#issuecomment-2296755050

eessi-bot[bot] avatar Aug 19 '24 14:08 eessi-bot[bot]