Skip to content

Commit 01d9ad4

Browse files
Add check for parameter yaml to ensure consistence with source (#7592)
* Add check for parameter yaml to ensure consistence with source * Add doc check to integration test workflow * Update test.yml * Keep docs up to date --------- Co-authored-by: Mohan Chen <mohanchen@pku.edu.cn>
1 parent ba4de63 commit 01d9ad4

3 files changed

Lines changed: 261 additions & 118 deletions

File tree

.github/workflows/test.yml

Lines changed: 55 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -84,195 +84,223 @@ jobs:
8484
cmake --build build -j8
8585
cmake --install build
8686
87+
- name: Check documentation consistency
88+
run: |
89+
ABACUS_BIN=$(find build -name "abacus_*" -type f -executable | head -1)
90+
echo "Using binary: ${ABACUS_BIN}"
91+
92+
# Check 1: parameters.yaml matches C++ Input_Item definitions
93+
${ABACUS_BIN} --generate-parameters-yaml > /tmp/parameters_generated.yaml
94+
if ! diff -q docs/parameters.yaml /tmp/parameters_generated.yaml; then
95+
echo "error: docs/parameters.yaml is out of sync with C++ source"
96+
echo "Fix: ${ABACUS_BIN} --generate-parameters-yaml > docs/parameters.yaml"
97+
diff docs/parameters.yaml /tmp/parameters_generated.yaml || true
98+
exit 1
99+
fi
100+
echo " parameters.yaml: OK"
101+
102+
# Check 2: input-main.md matches regenerated markdown
103+
pip install -q pyyaml
104+
python docs/generate_input_main.py \
105+
/tmp/parameters_generated.yaml \
106+
--output /tmp/input-main-generated.md
107+
if ! diff -q docs/advanced/input_files/input-main.md /tmp/input-main-generated.md; then
108+
echo "error: input-main.md is out of sync"
109+
echo "Fix: python docs/generate_input_main.py docs/parameters.yaml"
110+
diff docs/advanced/input_files/input-main.md /tmp/input-main-generated.md || true
111+
exit 1
112+
fi
113+
echo " input-main.md: OK"
114+
87115
- name: Integrated Tests Preparation
88116
env:
89117
GTEST_COLOR: 'yes'
90118
OMP_NUM_THREADS: '2'
91119
run: |
92120
ctest --test-dir build -V --timeout 1700 -R integrated_test
93-
121+
94122
- name: Module_Base Unittests
95123
env:
96124
GTEST_COLOR: 'yes'
97125
OMP_NUM_THREADS: '2'
98126
run: |
99127
ctest --test-dir build -V --timeout 1700 -R MODULE_BASE
100-
128+
101129
- name: Module_IO Unittests
102130
env:
103131
GTEST_COLOR: 'yes'
104132
OMP_NUM_THREADS: '2'
105133
run: |
106134
ctest --test-dir build -V --timeout 1700 -R MODULE_IO
107-
135+
108136
- name: Module_HSolver Unittests
109137
env:
110138
GTEST_COLOR: 'yes'
111139
OMP_NUM_THREADS: '2'
112140
run: |
113141
ctest --test-dir build -V --timeout 1700 -R MODULE_HSOLVER -E PERF_MODULE_HSOLVER_KERNELS
114-
142+
115143
- name: Module_Cell Unittests
116144
env:
117145
GTEST_COLOR: 'yes'
118146
OMP_NUM_THREADS: '2'
119147
run: |
120148
ctest --test-dir build -V --timeout 1700 -R MODULE_CELL
121-
149+
122150
- name: Module_MD Unittests
123151
env:
124152
GTEST_COLOR: 'yes'
125153
OMP_NUM_THREADS: '2'
126154
run: |
127155
ctest --test-dir build -V --timeout 1700 -R MODULE_MD
128-
156+
129157
- name: Module_Psi Unittests
130158
env:
131159
GTEST_COLOR: 'yes'
132160
OMP_NUM_THREADS: '2'
133161
run: |
134162
ctest --test-dir build -V --timeout 1700 -R MODULE_PSI
135-
163+
136164
- name: Module_RI Unittests
137165
env:
138166
GTEST_COLOR: 'yes'
139167
OMP_NUM_THREADS: '2'
140168
run: |
141169
ctest --test-dir build -V --timeout 1700 -R MODULE_RI
142-
170+
143171
- name: Module_Estate Unittests
144172
env:
145173
GTEST_COLOR: 'yes'
146174
OMP_NUM_THREADS: '2'
147175
run: |
148176
ctest --test-dir build -V --timeout 1700 -R MODULE_ESTATE
149-
177+
150178
- name: Module_Hamilt Unittests
151179
env:
152180
GTEST_COLOR: 'yes'
153181
OMP_NUM_THREADS: '2'
154182
run: |
155183
ctest --test-dir build -V --timeout 1700 -R MODULE_HAMILT
156-
184+
157185
- name: Module_PW Unittests
158186
env:
159187
GTEST_COLOR: 'yes'
160188
OMP_NUM_THREADS: '2'
161189
run: |
162190
ctest --test-dir build -V --timeout 1700 -R MODULE_PW
163-
191+
164192
- name: Module_LCAO Unittests
165193
env:
166194
GTEST_COLOR: 'yes'
167195
OMP_NUM_THREADS: '2'
168196
run: |
169197
ctest --test-dir build -V --timeout 1700 -R MODULE_LCAO
170-
198+
171199
- name: Module_AO Unittests
172200
env:
173201
GTEST_COLOR: 'yes'
174202
OMP_NUM_THREADS: '2'
175203
run: |
176204
ctest --test-dir build -V --timeout 1700 -R MODULE_AO
177-
205+
178206
- name: Module_NAO Unittests
179207
env:
180208
GTEST_COLOR: 'yes'
181209
OMP_NUM_THREADS: '2'
182210
run: |
183211
ctest --test-dir build -V --timeout 1700 -R MODULE_NAO
184-
212+
185213
- name: Module_RELAX Unittests
186214
env:
187215
GTEST_COLOR: 'yes'
188216
OMP_NUM_THREADS: '2'
189217
run: |
190218
ctest --test-dir build -V --timeout 1700 -R MODULE_RELAX
191-
219+
192220
- name: Module_LR Unittests
193221
env:
194222
GTEST_COLOR: 'yes'
195223
OMP_NUM_THREADS: '2'
196224
run: |
197225
ctest --test-dir build -V --timeout 1700 -R MODULE_LR
198-
226+
199227
- name: 01_PW Test
200228
env:
201229
GTEST_COLOR: 'yes'
202230
OMP_NUM_THREADS: '2'
203231
run: |
204232
ctest --test-dir build -V --timeout 1700 -R 01_PW
205-
233+
206234
- name: 02_NAO_Gamma Test
207235
env:
208236
GTEST_COLOR: 'yes'
209237
OMP_NUM_THREADS: '2'
210238
run: |
211239
ctest --test-dir build -V --timeout 1700 -R 02_NAO_Gamma
212-
240+
213241
- name: 03_NAO_multik Test
214242
env:
215243
GTEST_COLOR: 'yes'
216244
OMP_NUM_THREADS: '2'
217245
run: |
218246
ctest --test-dir build -V --timeout 1700 -R 03_NAO_multik
219-
247+
220248
- name: 04_FF Test
221249
env:
222250
GTEST_COLOR: 'yes'
223251
OMP_NUM_THREADS: '2'
224252
run: |
225253
ctest --test-dir build -V --timeout 1700 -R 04_FF
226-
254+
227255
- name: 05_rtTDDFT Test
228256
env:
229257
GTEST_COLOR: 'yes'
230258
OMP_NUM_THREADS: '2'
231259
run: |
232260
ctest --test-dir build -V --timeout 1700 -R 05_rtTDDFT
233-
261+
234262
- name: 06_SDFT Test
235263
env:
236264
GTEST_COLOR: 'yes'
237265
OMP_NUM_THREADS: '2'
238266
run: |
239267
ctest --test-dir build -V --timeout 1700 -R 06_SDFT
240-
268+
241269
- name: 07_OFDFT Test
242270
env:
243271
GTEST_COLOR: 'yes'
244272
OMP_NUM_THREADS: '2'
245273
run: |
246274
ctest --test-dir build -V --timeout 1700 -R 07_OFDFT
247-
275+
248276
- name: 08_EXX Test
249277
env:
250278
GTEST_COLOR: 'yes'
251279
OMP_NUM_THREADS: '2'
252280
run: |
253281
ctest --test-dir build -V --timeout 1700 -R 08_EXX
254-
282+
255283
- name: 09_DeePKS Test
256284
env:
257285
GTEST_COLOR: 'yes'
258286
OMP_NUM_THREADS: '2'
259287
run: |
260288
ctest --test-dir build -V --timeout 1700 -R 09_DeePKS
261-
289+
262290
- name: 10_others Test
263291
env:
264292
GTEST_COLOR: 'yes'
265293
OMP_NUM_THREADS: '2'
266294
run: |
267295
ctest --test-dir build -V --timeout 1700 -R 10_others
268-
296+
269297
# - name: 17_DS_DFTU Test
270298
# env:
271299
# GTEST_COLOR: 'yes'
272300
# OMP_NUM_THREADS: '2'
273301
# run: |
274302
# ctest --test-dir build -V --timeout 1700 -R 17_DS_DFTU
275-
303+
276304
- name: Other Unittests
277305
env:
278306
GTEST_COLOR: 'yes'

0 commit comments

Comments
 (0)