-
Notifications
You must be signed in to change notification settings - Fork 57
153 lines (140 loc) · 5.93 KB
/
test-backends.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
name: "Backends"
on: [push, pull_request]
# These jobs call a template workflow `backend-template.yml`, which performs
# all the necessary steps to run the regression tests of the backend.
# Variables listed under `with` are mandatory, except `test_lib_directory`
# and `test_interface_directory`, which are optional. `backend_name` must be
# unique, as it is used to identify the cache.
# See `backend-template.yml` for more details.
env:
# Set environment variables to make secrets available to the template steps
PULL_NAMD_KEY: secrets.PULL_NAMD_KEY
PULL_VMD_KEY: secrets.PULL_VMD_KEY
PULL_VMD_PLUGINS_KEY: secrets.PULL_VMD_PLUGINS_KEY
jobs:
lammps:
name: LAMMPS
if: github.event_name == 'pull_request' || contains(github.event.head_commit.message, 'test-lammps')
uses: ./.github/workflows/backend-template.yml
with:
backend_name: LAMMPS
backend_repo: lammps/lammps
backend_repo_ref: develop
container_name: CentOS7-devel
path_compile_script: devel-tools/compile-lammps.sh
test_lib_directory: lammps/tests/library
test_interface_directory: lammps/tests/interface
rpath_exe: install/bin/lmp
namd:
name: NAMD
# Prevent running this job on PRs across different accounts, because
# secrets wouldn't be shared
if: |
(github.event_name == 'pull_request' && github.repository_owner == github.event.pull_request.head.repo.owner.login) ||
(github.event_name == 'push' && contains(github.event.head_commit.message, 'test-namd'))
uses: ./.github/workflows/backend-template.yml
with:
backend_name: NAMD
backend_repo: Colvars/namd
backend_repo_ref: master
container_name: CentOS7-devel
path_compile_script: devel-tools/compile-namd.sh
test_lib_directory: namd/tests/library
test_interface_directory: namd/tests/interface
rpath_exe: Linux-x86_64-g++.multicore/namd2
secrets:
# Choice of license by UIUC prevents sharing the code, hence the secret
private_key: ${{ secrets.PULL_NAMD_KEY }}
namd3:
name: NAMD3 (no CUDA)
# Prevent running this job on PRs across different accounts, because
# secrets wouldn't be shared
if: |
(github.event_name == 'pull_request' && github.repository_owner == github.event.pull_request.head.repo.owner.login) ||
(github.event_name == 'push' && contains(github.event.head_commit.message, 'test-namd'))
uses: ./.github/workflows/backend-template.yml
with:
backend_name: NAMD3
backend_repo: Colvars/namd
backend_repo_ref: devel
path_compile_script: devel-tools/compile-namd.sh
test_lib_directory: namd/tests/library
# Interface tests disabled until map variables are merged into NAMD3
# test_interface_directory: namd/tests/interface
rpath_exe: Linux-x86_64-g++.multicore/namd3
container_name: CentOS7-devel
secrets:
# Choice of license by UIUC prevents sharing the code, hence the secret
private_key: ${{ secrets.PULL_NAMD_KEY }}
vmd:
name: VMD
# Prevent running this job on PRs across different accounts, because
# secrets wouldn't be shared
if: |
(github.event_name == 'pull_request' && github.repository_owner == github.event.pull_request.head.repo.owner.login) ||
(github.event_name == 'push' && contains(github.event.head_commit.message, 'test-vmd'))
uses: ./.github/workflows/backend-template.yml
with:
backend_name: VMD
backend_repo: Colvars/vmd
backend_repo_ref: master
container_name: CentOS7-devel
# Special variable for VMD test case since it's the only one
# which needs to checkout 2 repos
vmd_plugins_repo: Colvars/vmd-plugins
path_compile_script: devel-tools/compile-vmd.sh
test_interface_directory: vmd/tests/interface
rpath_exe: install/vmd
secrets:
# Per-repository secret
private_key: ${{ secrets.PULL_VMD_KEY }}
private_key_vmd_plugins: ${{ secrets.PULL_VMD_PLUGINS_KEY }}
gromacs-2020:
name: GROMACS 2020
if: github.event_name == 'pull_request' || contains(github.event.head_commit.message, 'test-gromacs-2020')
uses: ./.github/workflows/backend-template.yml
with:
backend_name: GROMACS-2020
backend_repo: gromacs/gromacs
backend_repo_ref: release-2020
container_name: CentOS7-devel
path_compile_script: devel-tools/compile-gromacs.sh
test_lib_directory: gromacs/tests/library
# Gromacs need to be compiled in double precision to pass the tests
rpath_exe: install/bin/gmx_d
gromacs-2021:
name: GROMACS 2021
if: github.event_name == 'pull_request' || contains(github.event.head_commit.message, 'test-gromacs-2021')
uses: ./.github/workflows/backend-template.yml
with:
backend_name: GROMACS-2021
backend_repo: gromacs/gromacs
backend_repo_ref: release-2021
container_name: CentOS9-devel
path_compile_script: devel-tools/compile-gromacs.sh
test_lib_directory: gromacs/tests/library
rpath_exe: install/bin/gmx_d
gromacs-2022:
name: GROMACS 2022
if: github.event_name == 'pull_request' || contains(github.event.head_commit.message, 'test-gromacs-2022')
uses: ./.github/workflows/backend-template.yml
with:
backend_name: GROMACS-2022
backend_repo: gromacs/gromacs
backend_repo_ref: release-2022
container_name: CentOS9-devel
path_compile_script: devel-tools/compile-gromacs.sh
test_lib_directory: gromacs/tests/library
rpath_exe: install/bin/gmx_d
gromacs-2023:
name: GROMACS 2023
if: github.event_name == 'pull_request' || contains(github.event.head_commit.message, 'test-gromacs-2023')
uses: ./.github/workflows/backend-template.yml
with:
backend_name: GROMACS-2023
backend_repo: gromacs/gromacs
backend_repo_ref: release-2023
container_name: CentOS9-devel
path_compile_script: devel-tools/compile-gromacs.sh
test_lib_directory: gromacs/tests/library
rpath_exe: install/bin/gmx_d