Commit Graph

82 Commits

Author SHA1 Message Date
8176ea8c5e feat: add whitelist character support in repo toml (#29)
All checks were successful
build / build (push) Successful in 8m39s
build / trigger-build-image (push) Successful in 1m36s
This commit introduces a new key, `health-check.whitelisted-chars` for repo.toml. It allows TAs to configure repo-wide allowed non ASCII chars for the repo-health-checker binary. It results in a new command line switch, `-whitelisted-chars=X,Y,Z`, in the generated task.json.

Co-Authored-By: GitHub Copilot <noreply@microsoft.com>
<details>
<summary>Copilot Prompt</summary>
<br>
This repository contains a Python app that does conversion from TOML config files to a complex, multistage JSON config file for an online judge system. For example, under `tests/convert/full`, input are the two TOML files `repo.toml` and `task.toml`, output is one JSON file `task,json`.

Now, I want the repo-specific config (**repo.toml**) to accept an extra dotted key, "health-check.whitelisted-chars". This key shall accept an array of UTF-8 non-ASCII characters. To do so, I want you to
- Model. Under `joj3_config_generator/models/repo.py`, add an extra field *whitelisted_chars* to class *HealthCheck*, identified by both "whitelisted-chars" and "whitelisted_chars";
- Transforming. Under `joj3_config_generator/transforers/repo.py`, translate the field to an additional command line switch `-whitelisted-chars`, comma-separated.
- Other files you deem necessary, based on your understanding of this repo.

IMPORTANT. Before you start, explore this repo to under the file structure and file-function relations.

This repo uses the PDM package manager. After you finish your work, test your work appropriately. You should create new testcases under `tests/`.
- Details: Read the output `task.json` after running the test, to verify whether the command line switch was added to the *Health Check* `stage` or not.
</details>

Reviewed-on: https://focs.ji.sjtu.edu.cn/git/JOJ/JOJ3-config-generator/pulls/29
Reviewed-by: 李衍志523370910113 <jon-lee@sjtu.edu.cn>
Reviewed-by: 张泊明518370910136 <bomingzh@sjtu.edu.cn>
Co-authored-by: Mack Wang <mac-wang@outlook.com>
Co-committed-by: Mack Wang <mac-wang@outlook.com>
2026-04-22 17:06:54 +08:00
3c0195e605
feat: generate failure json for wrong toml files
All checks were successful
build / build (push) Successful in 2m41s
build / trigger-build-image (push) Successful in 10s
2025-11-27 21:15:45 -08:00
6c3fb51385
chore: update test results
All checks were successful
build / build (push) Successful in 2m42s
build / trigger-build-image (push) Successful in 11s
2025-11-27 20:49:14 -08:00
2f5288e4c3
fix: sort by stdout
All checks were successful
build / build (push) Successful in 1m52s
build / trigger-build-image (push) Successful in 9s
2025-11-21 21:28:18 -08:00
4d7c7aa344
feat: natural sort cases
All checks were successful
build / build (push) Successful in 2m39s
build / trigger-build-image (push) Successful in 19s
2025-11-21 20:12:27 -08:00
4b2e818538
feat: support groups.ignore-submitter
All checks were successful
build / build (push) Successful in 2m20s
build / trigger-build-image (push) Successful in 13s
2025-10-30 19:52:08 -07:00
f570ea5aca
feat: support skip scoreboard and failed table
All checks were successful
build / build (push) Successful in 2m3s
build / trigger-build-image (push) Successful in 14s
2025-10-26 20:00:05 -07:00
6de91e0559
chore: update test results
All checks were successful
build / build (push) Successful in 2m1s
build / trigger-build-image (push) Successful in 11s
2025-10-13 02:50:18 -07:00
dd5f1123b4
feat: files.no-auto-import
All checks were successful
build / build (push) Successful in 2m2s
build / trigger-build-image (push) Successful in 9s
2025-10-08 05:59:47 -07:00
909eea8d5d
feat: support skip issue
All checks were successful
build / build (push) Successful in 1m30s
build / trigger-build-image (push) Successful in 8s
2025-10-04 18:43:53 -07:00
b69c42debc
feat: debug log joj3 summary
All checks were successful
build / build (push) Successful in 1m49s
build / trigger-build-image (push) Successful in 8s
2025-10-04 18:37:28 -07:00
930830b6f6
feat: debug parser
All checks were successful
build / build (push) Successful in 1m43s
build / trigger-build-image (push) Successful in 12s
2025-10-03 01:17:48 -07:00
32997cfdcb
feat: remove nested conf fields
All checks were successful
build / build (push) Successful in 2m2s
build / trigger-build-image (push) Successful in 11s
2025-09-27 01:05:45 -07:00
09f15f21ad
fix: specified case with base dir
All checks were successful
build / build (push) Successful in 2m0s
build / trigger-build-image (push) Successful in 11s
2025-09-26 01:26:42 -07:00
04839aecbd
feat: stages.base-case-dir
All checks were successful
build / build (push) Successful in 2m11s
build / trigger-build-image (push) Successful in 8s
2025-09-24 21:41:53 -07:00
a6f931a879
feat: support groups
Some checks failed
build / build (push) Failing after 2m8s
build / trigger-build-image (push) Has been skipped
2025-09-24 03:20:21 -07:00
Boming Zhang
8150d3d770
feat: better error msg & tests
All checks were successful
build / build (push) Successful in 2m9s
build / trigger-build-image (push) Successful in 12s
2025-09-17 15:54:27 -07:00
4a7295d008
fix: new codes & tests
Some checks failed
build / build (push) Failing after 1m52s
build / trigger-build-image (push) Has been skipped
2025-09-14 17:41:17 -07:00
97eea108fb
feat: exit on immutable files not all covered
All checks were successful
build / build (push) Successful in 1m55s
build / trigger-build-image (push) Successful in 8s
2025-07-27 16:51:36 -07:00
44924d8c5f
feat: support git ref as scoreboard column
All checks were successful
build / build (push) Successful in 1m37s
build / trigger-build-image (push) Successful in 8s
2025-07-27 03:36:43 -07:00
eac9100146 docs: full toml sample (#20) (#27)
All checks were successful
build / build (push) Successful in 2m3s
build / trigger-build-image (push) Successful in 12s
Reviewed-on: https://focs.ji.sjtu.edu.cn/git/JOJ/JOJ3-config-generator/pulls/27
Co-authored-by: Boming Zhang <bomingzh@sjtu.edu.cn>
Co-committed-by: Boming Zhang <bomingzh@sjtu.edu.cn>
2025-07-08 04:38:47 +08:00
b3581a4071
chore: change fallback conf name to health check
All checks were successful
build / build (push) Successful in 2m9s
build / trigger-build-image (push) Successful in 11s
2025-07-03 09:36:24 -04:00
ea894953ae
feat: set max-total-score = 0 for fallback conf
All checks were successful
build / build (push) Successful in 2m12s
build / trigger-build-image (push) Successful in 9s
2025-07-01 11:21:56 -04:00
8b16214be4
feat: automatically create default fallback conf
All checks were successful
build / build (push) Successful in 3m42s
build / trigger-build-image (push) Successful in 10s
2025-07-01 08:29:12 -04:00
8f96115e6e
refactor: files.required -> health-check.required-files
All checks were successful
build / build (push) Successful in 1m40s
build / trigger-build-image (push) Successful in 10s
2025-07-01 00:35:42 -04:00
7e6ee1b63e
fix: rebase error
All checks were successful
build / build (push) Successful in 2m55s
build / trigger-build-image (push) Successful in 14s
2025-07-01 00:25:13 -04:00
dc7682a94f
refactor: move score, max-size, immutable-path to health-check
All checks were successful
build / build (push) Successful in 2m0s
build / trigger-build-image (push) Successful in 11s
2025-07-01 00:20:37 -04:00
88d864d49d
test: fix cases
All checks were successful
build / build (push) Successful in 1m56s
build / trigger-build-image (push) Successful in 14s
2025-06-30 06:30:34 -04:00
bb4f2b1364
feat: support limit.time
All checks were successful
build / build (push) Successful in 2m15s
build / trigger-build-image (push) Successful in 8s
2025-06-26 06:28:29 -04:00
10a5efb293
feat: set log path based on suffix
All checks were successful
build / build (push) Successful in 1m56s
build / trigger-build-image (push) Successful in 11s
2025-06-25 22:12:37 -04:00
4d3f77d6d0
test: use modern time.begin
All checks were successful
build / build (push) Successful in 2m30s
build / trigger-build-image (push) Successful in 12s
2025-06-25 03:49:08 -04:00
66551898be
test: fix cases
All checks were successful
build / build (push) Successful in 1m26s
build / trigger-build-image (push) Successful in 9s
2025-06-25 03:46:28 -04:00
53395359cd
feat: files.import-map
All checks were successful
build / build (push) Successful in 1m36s
build / trigger-build-image (push) Successful in 7s
2025-06-22 05:55:09 -04:00
d785216396 feat: diff.output.xxx -> diff.xxx (#26)
All checks were successful
build / build (push) Successful in 1m38s
build / trigger-build-image (push) Successful in 8s
Reviewed-on: https://focs.ji.sjtu.edu.cn/git/JOJ/JOJ3-config-generator/pulls/26
Co-authored-by: Boming Zhang <bomingzh@sjtu.edu.cn>
Co-committed-by: Boming Zhang <bomingzh@sjtu.edu.cn>
2025-06-22 01:59:20 +08:00
a49bc19b1e
chore: file_name -> filename
All checks were successful
build / build (push) Successful in 3m41s
build / trigger-build-image (push) Successful in 20s
2025-06-21 12:07:09 -04:00
1b4637d01c
chore: sort glob result for stable output
All checks were successful
build / build (push) Successful in 1m33s
build / trigger-build-image (push) Successful in 10s
2025-06-20 17:25:09 -04:00
875089cabd
fix: pdm run test
Some checks failed
build / build (push) Failing after 1m55s
build / trigger-build-image (push) Has been skipped
2025-06-20 17:18:00 -04:00
8d52febbc5
feat: new immutable dir (#25) 2025-06-20 17:07:24 -04:00
fd7d09e7b2
fix: more intuitive default score
All checks were successful
build / build (push) Successful in 2m4s
build / trigger-build-image (push) Successful in 9s
2025-06-20 11:54:51 -04:00
29952a9d2d
feat: support auto scoreboard name
All checks were successful
build / build (push) Successful in 1m56s
build / trigger-build-image (push) Successful in 9s
2025-06-20 04:01:45 -04:00
2bcf4f8c60
feat: support issue label config in repo.toml
All checks were successful
build / build (push) Successful in 1m49s
build / trigger-build-image (push) Successful in 11s
2025-06-20 03:40:16 -04:00
e2dc094263
feat: support penalty config
All checks were successful
build / build (push) Successful in 2m2s
build / trigger-build-image (push) Successful in 8s
2025-06-19 06:43:29 -04:00
c6e2c63024
fix: cli time format
All checks were successful
build / build (push) Successful in 2m2s
build / trigger-build-image (push) Successful in 8s
2025-06-18 09:19:52 -04:00
cae592c5cf
test: update cases 2025-06-18 09:17:14 -04:00
d8073e4eb6
fix: total score overwrite
All checks were successful
build / build (push) Successful in 1m52s
build / trigger-build-image (push) Successful in 10s
2025-06-17 02:15:10 -04:00
0b39aa7112
test: update cases 2025-06-17 02:05:40 -04:00
5404313199
feat: move teapot settings to repo.toml
All checks were successful
build / build (push) Successful in 1m43s
build / trigger-build-image (push) Successful in 8s
2025-06-15 02:05:15 -04:00
c6b833fbd5
fix: separated result status models
All checks were successful
build / build (push) Successful in 2m11s
build / trigger-build-image (push) Successful in 9s
2025-06-14 05:52:06 -04:00
f72189dc81 feat: support overwrite of groups & max_total_score in task.toml (#22)
All checks were successful
build / build (push) Successful in 2m30s
build / trigger-build-image (push) Successful in 12s
support https://focs.ji.sjtu.edu.cn/git/JOJ/JOJ3-config-generator/issues/21

Reviewed-on: https://focs.ji.sjtu.edu.cn/git/JOJ/JOJ3-config-generator/pulls/22
Co-authored-by: jon-lee <jon-lee@sjtu.edu.cn>
Co-committed-by: jon-lee <jon-lee@sjtu.edu.cn>
2025-06-10 15:39:12 +08:00
d211d7a429
chore: latest fields 2025-06-09 01:37:15 -04:00