Skip to content

Commit 76adeea

Browse files
author
Vasileios Karakasis
authored
Merge pull request #1586 from vkarak/feat/module-collections
[feat] Add support for module collections
2 parents e1b2877 + bda7909 commit 76adeea

File tree

23 files changed

+790
-152
lines changed

23 files changed

+790
-152
lines changed

ci-scripts/configs/lmod.py

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Copyright 2016-2020 Swiss National Supercomputing Centre (CSCS/ETH Zurich)
2+
# ReFrame Project Developers. See the top-level LICENSE file for details.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
6+
#
7+
# Generic fallback configuration
8+
#
9+
10+
site_configuration = {
11+
'systems': [
12+
{
13+
'name': 'generic',
14+
'descr': 'Generic example system',
15+
'hostnames': ['.*'],
16+
'modules_system': 'lmod',
17+
'partitions': [
18+
{
19+
'name': 'default',
20+
'scheduler': 'local',
21+
'launcher': 'local',
22+
'environs': ['builtin']
23+
}
24+
]
25+
},
26+
],
27+
'environments': [
28+
{
29+
'name': 'builtin',
30+
'cc': 'cc',
31+
'cxx': '',
32+
'ftn': ''
33+
},
34+
],
35+
'logging': [
36+
{
37+
'handlers': [
38+
{
39+
'type': 'stream',
40+
'name': 'stdout',
41+
'level': 'info',
42+
'format': '%(message)s'
43+
},
44+
{
45+
'type': 'file',
46+
'level': 'debug',
47+
'format': '[%(asctime)s] %(levelname)s: %(check_info)s: %(message)s', # noqa: E501
48+
'append': False
49+
}
50+
],
51+
'handlers_perflog': [
52+
{
53+
'type': 'filelog',
54+
'prefix': '%(check_system)s/%(check_partition)s',
55+
'level': 'info',
56+
'format': (
57+
'%(check_job_completion_time)s|reframe %(version)s|'
58+
'%(check_info)s|jobid=%(check_jobid)s|'
59+
'%(check_perf_var)s=%(check_perf_value)s|'
60+
'ref=%(check_perf_ref)s '
61+
'(l=%(check_perf_lower_thres)s, '
62+
'u=%(check_perf_upper_thres)s)|'
63+
'%(check_perf_unit)s'
64+
),
65+
'append': True
66+
}
67+
]
68+
}
69+
],
70+
}

ci-scripts/configs/tmod32.py

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Copyright 2016-2020 Swiss National Supercomputing Centre (CSCS/ETH Zurich)
2+
# ReFrame Project Developers. See the top-level LICENSE file for details.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
6+
#
7+
# Generic fallback configuration
8+
#
9+
10+
site_configuration = {
11+
'systems': [
12+
{
13+
'name': 'generic',
14+
'descr': 'Generic example system',
15+
'hostnames': ['.*'],
16+
'modules_system': 'tmod32',
17+
'partitions': [
18+
{
19+
'name': 'default',
20+
'scheduler': 'local',
21+
'launcher': 'local',
22+
'environs': ['builtin']
23+
}
24+
]
25+
},
26+
],
27+
'environments': [
28+
{
29+
'name': 'builtin',
30+
'cc': 'cc',
31+
'cxx': '',
32+
'ftn': ''
33+
},
34+
],
35+
'logging': [
36+
{
37+
'handlers': [
38+
{
39+
'type': 'stream',
40+
'name': 'stdout',
41+
'level': 'info',
42+
'format': '%(message)s'
43+
},
44+
{
45+
'type': 'file',
46+
'level': 'debug',
47+
'format': '[%(asctime)s] %(levelname)s: %(check_info)s: %(message)s', # noqa: E501
48+
'append': False
49+
}
50+
],
51+
'handlers_perflog': [
52+
{
53+
'type': 'filelog',
54+
'prefix': '%(check_system)s/%(check_partition)s',
55+
'level': 'info',
56+
'format': (
57+
'%(check_job_completion_time)s|reframe %(version)s|'
58+
'%(check_info)s|jobid=%(check_jobid)s|'
59+
'%(check_perf_var)s=%(check_perf_value)s|'
60+
'ref=%(check_perf_ref)s '
61+
'(l=%(check_perf_lower_thres)s, '
62+
'u=%(check_perf_upper_thres)s)|'
63+
'%(check_perf_unit)s'
64+
),
65+
'append': True
66+
}
67+
]
68+
}
69+
],
70+
}

ci-scripts/configs/tmod4.py

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Copyright 2016-2020 Swiss National Supercomputing Centre (CSCS/ETH Zurich)
2+
# ReFrame Project Developers. See the top-level LICENSE file for details.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
6+
#
7+
# Generic fallback configuration
8+
#
9+
10+
site_configuration = {
11+
'systems': [
12+
{
13+
'name': 'generic',
14+
'descr': 'Generic example system',
15+
'hostnames': ['.*'],
16+
'modules_system': 'tmod4',
17+
'partitions': [
18+
{
19+
'name': 'default',
20+
'scheduler': 'local',
21+
'launcher': 'local',
22+
'environs': ['builtin']
23+
}
24+
]
25+
},
26+
],
27+
'environments': [
28+
{
29+
'name': 'builtin',
30+
'cc': 'cc',
31+
'cxx': '',
32+
'ftn': ''
33+
},
34+
],
35+
'logging': [
36+
{
37+
'handlers': [
38+
{
39+
'type': 'stream',
40+
'name': 'stdout',
41+
'level': 'info',
42+
'format': '%(message)s'
43+
},
44+
{
45+
'type': 'file',
46+
'level': 'debug',
47+
'format': '[%(asctime)s] %(levelname)s: %(check_info)s: %(message)s', # noqa: E501
48+
'append': False
49+
}
50+
],
51+
'handlers_perflog': [
52+
{
53+
'type': 'filelog',
54+
'prefix': '%(check_system)s/%(check_partition)s',
55+
'level': 'info',
56+
'format': (
57+
'%(check_job_completion_time)s|reframe %(version)s|'
58+
'%(check_info)s|jobid=%(check_jobid)s|'
59+
'%(check_perf_var)s=%(check_perf_value)s|'
60+
'ref=%(check_perf_ref)s '
61+
'(l=%(check_perf_lower_thres)s, '
62+
'u=%(check_perf_upper_thres)s)|'
63+
'%(check_perf_unit)s'
64+
),
65+
'append': True
66+
}
67+
]
68+
}
69+
],
70+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#
2+
# Execute this from the top-level ReFrame source directory
3+
#
4+
5+
FROM ubuntu:20.04
6+
7+
ENV TZ=Europe/Zurich
8+
ENV DEBIAN_FRONTEND=noninteractive
9+
ENV _LMOD_VER=8.4.12
10+
WORKDIR /root
11+
12+
# ReFrame requirements
13+
RUN \
14+
apt-get -y update && \
15+
apt-get -y install gcc && \
16+
apt-get -y install make && \
17+
apt-get -y install git && \
18+
apt-get -y install python3 python3-pip
19+
20+
# Required utilities
21+
RUN apt-get -y install wget
22+
23+
# Install Lmod
24+
RUN \
25+
apt-get -y install lua5.3 lua-bit32:amd64 lua-posix:amd64 lua-posix-dev liblua5.3-0:amd64 liblua5.3-dev:amd64 tcl tcl-dev tcl8.6 tcl8.6-dev:amd64 libtcl8.6:amd64 && \
26+
wget -q https://github.com/TACC/Lmod/archive/${_LMOD_VER}.tar.gz -O lmod.tar.gz && \
27+
tar xzf lmod.tar.gz && \
28+
cd Lmod-${_LMOD_VER} && \
29+
./configure && make install
30+
31+
32+
ENV BASH_ENV=/usr/local/lmod/lmod/init/profile
33+
34+
# Install ReFrame from the current directory
35+
COPY . /root/reframe/
36+
RUN cd reframe && ./bootstrap.sh
37+
38+
WORKDIR /root/reframe
39+
CMD ["/bin/bash", "-c", "./test_reframe.py --rfm-user-config=ci-scripts/configs/lmod.py -v"]
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#
2+
# Execute this from the top-level ReFrame source directory
3+
#
4+
5+
FROM centos:7
6+
7+
WORKDIR /root
8+
9+
# ReFrame requirements
10+
RUN \
11+
yum -y install gcc && \
12+
yum -y install make && \
13+
yum -y install git && \
14+
yum -y install python3
15+
16+
# # Required utilities
17+
# RUN apt-get -y install wget
18+
19+
# Install Tmod 3.2
20+
RUN yum -y install environment-modules
21+
22+
# Install ReFrame from the current directory
23+
COPY . /root/reframe/
24+
RUN cd reframe && ./bootstrap.sh
25+
26+
WORKDIR /root/reframe
27+
CMD ["/bin/bash", "-c", "./test_reframe.py --rfm-user-config=ci-scripts/configs/tmod32.py -v"]
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#
2+
# Execute this from the top-level ReFrame source directory
3+
#
4+
5+
FROM ubuntu:20.04
6+
7+
ENV TZ=Europe/Zurich
8+
ENV DEBIAN_FRONTEND=noninteractive
9+
ENV _TMOD_VER=4.6.0
10+
WORKDIR /root
11+
12+
# ReFrame requirements
13+
RUN \
14+
apt-get -y update && \
15+
apt-get -y install gcc && \
16+
apt-get -y install make && \
17+
apt-get -y install git && \
18+
apt-get -y install python3 python3-pip
19+
20+
# Required utilities
21+
RUN apt-get -y install wget
22+
23+
# Install Tmod4
24+
RUN \
25+
apt-get -y install autoconf && \
26+
apt-get -y install tcl-dev && \
27+
wget -q https://github.com/cea-hpc/modules/archive/v${_TMOD_VER}.tar.gz -O tmod.tar.gz && \
28+
tar xzf tmod.tar.gz && \
29+
cd modules-${_TMOD_VER} && \
30+
./configure && make install
31+
32+
ENV BASH_ENV=/usr/local/Modules/init/profile.sh
33+
34+
# Install ReFrame from the current directory
35+
COPY . /root/reframe/
36+
RUN cd reframe && ./bootstrap.sh
37+
38+
WORKDIR /root/reframe
39+
CMD ["/bin/bash", "-c", "./test_reframe.py --rfm-user-config=ci-scripts/configs/tmod4.py -v"]

0 commit comments

Comments
 (0)