software-layer
software-layer copied to clipboard
Map tests to software builds
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 theymlfile will be returned, so order is important. - A python code imports both the
module_files.list.txtandsoftware_to_test.yml, loops over all build software, each time executing the regular expression matches on the content of thesoftware_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)
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
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
bot: build repo:eessi.io-2023.06-software arch:zen3
Updates by the bot instance eessi-bot-mc-aws
(click for details)
-
received bot command
build repo:eessi.io-2023.06-software arch:zen3fromcasparvl- expanded format:
build repository:eessi.io-2023.06-software architecture:zen3
- expanded format:
-
handling command
build repository:eessi.io-2023.06-software architecture:zen3resulted in:- submitted job
16528, for details & status see https://github.com/EESSI/software-layer/pull/673#issuecomment-2296259476
- submitted job
Updates by the bot instance eessi-bot-mc-azure
(click for details)
-
received bot command
build repo:eessi.io-2023.06-software arch:zen3fromcasparvl- expanded format:
build repository:eessi.io-2023.06-software architecture:zen3
- expanded format:
-
handling command
build repository:eessi.io-2023.06-software architecture:zen3resulted in:- no jobs were submitted
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)
|
| Aug 19 10:57:12 UTC 2024 | test result | :grin: SUCCESS (click triangle for details)
|
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.
bot: build repo:eessi.io-2023.06-software arch:zen3
Updates by the bot instance eessi-bot-mc-azure
(click for details)
-
received bot command
build repo:eessi.io-2023.06-software arch:zen3fromcasparvl- expanded format:
build repository:eessi.io-2023.06-software architecture:zen3
- expanded format:
-
handling command
build repository:eessi.io-2023.06-software architecture:zen3resulted in:- no jobs were submitted
Updates by the bot instance eessi-bot-mc-aws
(click for details)
-
received bot command
build repo:eessi.io-2023.06-software arch:zen3fromcasparvl- expanded format:
build repository:eessi.io-2023.06-software architecture:zen3
- expanded format:
-
handling command
build repository:eessi.io-2023.06-software architecture:zen3resulted in:- submitted job
16635, for details & status see https://github.com/EESSI/software-layer/pull/673#issuecomment-2296566140
- submitted job
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)
|
| Aug 19 13:42:46 UTC 2024 | test result | :grin: SUCCESS (click triangle for details)
|
bot: build repo:eessi.io-2023.06-software arch:zen2
Updates by the bot instance eessi-bot-mc-aws
(click for details)
-
received bot command
build repo:eessi.io-2023.06-software arch:zen2fromcasparvl- expanded format:
build repository:eessi.io-2023.06-software architecture:zen2
- expanded format:
-
handling command
build repository:eessi.io-2023.06-software architecture:zen2resulted in:- submitted job
16636, for details & status see https://github.com/EESSI/software-layer/pull/673#issuecomment-2296607512
- submitted job
Updates by the bot instance eessi-bot-mc-azure
(click for details)
-
received bot command
build repo:eessi.io-2023.06-software arch:zen2fromcasparvl- expanded format:
build repository:eessi.io-2023.06-software architecture:zen2
- expanded format:
-
handling command
build repository:eessi.io-2023.06-software architecture:zen2resulted in:- no jobs were submitted
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)
|
| Aug 19 13:47:51 UTC 2024 | test result | :cry: FAILURE (click triangle for details)
|
bot: build repo:eessi.io-2023.06-software arch:zen2
Updates by the bot instance eessi-bot-mc-aws
(click for details)
-
received bot command
build repo:eessi.io-2023.06-software arch:zen2fromcasparvl- expanded format:
build repository:eessi.io-2023.06-software architecture:zen2
- expanded format:
-
handling command
build repository:eessi.io-2023.06-software architecture:zen2resulted in:- submitted job
16637, for details & status see https://github.com/EESSI/software-layer/pull/673#issuecomment-2296640960
- submitted job
Updates by the bot instance eessi-bot-mc-azure
(click for details)
-
received bot command
build repo:eessi.io-2023.06-software arch:zen2fromcasparvl- expanded format:
build repository:eessi.io-2023.06-software architecture:zen2
- expanded format:
-
handling command
build repository:eessi.io-2023.06-software architecture:zen2resulted in:- no jobs were submitted
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)
|
| Aug 19 13:57:59 UTC 2024 | test result | :cry: FAILURE (click triangle for details)
|
bot: build repo:eessi.io-2023.06-software arch:zen2
Updates by the bot instance eessi-bot-mc-aws
(click for details)
-
received bot command
build repo:eessi.io-2023.06-software arch:zen2fromcasparvl- expanded format:
build repository:eessi.io-2023.06-software architecture:zen2
- expanded format:
-
handling command
build repository:eessi.io-2023.06-software architecture:zen2resulted in:- submitted job
16638, for details & status see https://github.com/EESSI/software-layer/pull/673#issuecomment-2296700144
- submitted job
Updates by the bot instance eessi-bot-mc-azure
(click for details)
-
received bot command
build repo:eessi.io-2023.06-software arch:zen2fromcasparvl- expanded format:
build repository:eessi.io-2023.06-software architecture:zen2
- expanded format:
-
handling command
build repository:eessi.io-2023.06-software architecture:zen2resulted in:- no jobs were submitted
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)
|
| Aug 19 14:25:09 UTC 2024 | test result | :grin: SUCCESS (click triangle for details)
|
bot: build repo:eessi.io-2023.06-software arch:zen2
Updates by the bot instance eessi-bot-mc-aws
(click for details)
-
received bot command
build repo:eessi.io-2023.06-software arch:zen2fromcasparvl- expanded format:
build repository:eessi.io-2023.06-software architecture:zen2
- expanded format:
-
handling command
build repository:eessi.io-2023.06-software architecture:zen2resulted in:- submitted job
16639, for details & status see https://github.com/EESSI/software-layer/pull/673#issuecomment-2296729291
- submitted job
Updates by the bot instance eessi-bot-mc-azure
(click for details)
-
received bot command
build repo:eessi.io-2023.06-software arch:zen2fromcasparvl- expanded format:
build repository:eessi.io-2023.06-software architecture:zen2
- expanded format:
-
handling command
build repository:eessi.io-2023.06-software architecture:zen2resulted in:- no jobs were submitted
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)
|
| Aug 19 14:38:18 UTC 2024 | test result | :grin: SUCCESS (click triangle for details)
|
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.
bot: build repo:eessi.io-2023.06-software arch:zen2
Updates by the bot instance eessi-bot-mc-aws
(click for details)
-
received bot command
build repo:eessi.io-2023.06-software arch:zen2fromcasparvl- expanded format:
build repository:eessi.io-2023.06-software architecture:zen2
- expanded format:
-
handling command
build repository:eessi.io-2023.06-software architecture:zen2resulted in:- submitted job
16640, for details & status see https://github.com/EESSI/software-layer/pull/673#issuecomment-2296755050
- submitted job