Commit Graph

28 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
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
3f0fdd816b
feat: strict mode toml loader
All checks were successful
build / build (push) Successful in 2m16s
build / trigger-build-image (push) Successful in 9s
2025-09-17 01:13:51 -07:00
0a625a76dd
feat: remove backward compatibility codes
Some checks failed
build / build (push) Failing after 2m12s
build / trigger-build-image (push) Has been skipped
2025-09-10 21:50:58 -07: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
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
6a7c5eb5f8
feat: remove task.stage.skip 2025-06-29 14:28:11 -04:00
6769e19d83
chore: organize fields 2025-06-29 13:33:21 -04:00
c428d51706
feat: support --issue-label-exclusive
All checks were successful
build / build (push) Successful in 2m18s
build / trigger-build-image (push) Successful in 10s
2025-06-25 05:00:20 -04:00
1313a24690
fix: change default immutable_path to make it backward compatible
Some checks failed
build / trigger-build-image (push) Blocked by required conditions
build / build (push) Has been cancelled
2025-06-25 03:44:51 -04:00
8d52febbc5
feat: new immutable dir (#25) 2025-06-20 17:07:24 -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
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
b46bc950f7
fix: optional max-total-score in repo.toml
Some checks failed
build / build (push) Failing after 1m48s
build / trigger-build-image (push) Has been skipped
2025-06-17 01:56:15 -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
b14d83c37b
fix: make it work for joj3-forge-convert
All checks were successful
build / build (push) Successful in 1m43s
build / trigger-build-image (push) Successful in 9s
2025-06-14 05:28:41 -04:00
2c1ad47f14
feat: get grading repo name from cwd
Some checks failed
build / build (push) Failing after 1m47s
build / trigger-build-image (push) Has been skipped
2025-06-14 05:21:35 -04:00
70440382d2
fix: alias
All checks were successful
build / build (push) Successful in 2m6s
build / trigger-build-image (push) Successful in 9s
2025-06-03 02:08:57 -04:00
df5295258f
feat: alias to all underscore
Some checks failed
build / build (push) Failing after 48s
2025-06-02 19:20:36 -04:00
887c06b40e
feat: support --no-submitter-in-issue-title in teapot
All checks were successful
build / build (push) Successful in 4m6s
2025-06-01 19:08:25 -04:00
37acb8690a feat: default health check score = 0 2025-05-30 07:01:28 -04:00
a7a2300f03 feat: support health check score in repo.toml
All checks were successful
build / build (push) Successful in 1m53s
2025-05-29 00:59:27 -04:00
18df2ef1c0
feat: support convert (#10)
All checks were successful
build / build (push) Successful in 2m18s
- basic generation of json files
  - supported parsers:
    - healthcheck
    - result-detail
    - result-status
    - file
    - log
    - dummy
    - keyword (keyword, clangtidy, cppcheck, cpplint)
    - diff
- `convert` functions is mature, tested in engr151-24fa last two homeworks and engr151-24fa p3
- teapot and healthcheck should be up to date

Co-authored-by: Boming Zhang <bomingzh@sjtu.edu.cn>
Reviewed-on: https://focs.ji.sjtu.edu.cn/git/JOJ/JOJ3-config-generator/pulls/10
Reviewed-by: Boming Zhang <bomingzh@sjtu.edu.cn>
Co-authored-by: jon-lee <jon-lee@sjtu.edu.cn>
Co-committed-by: jon-lee <jon-lee@sjtu.edu.cn>
2025-03-05 03:23:52 -05:00
4c12bf9a34
fix: store root path
Some checks failed
build / build (push) Has been cancelled
2025-02-27 01:14:40 -05:00
ab5bfc6cfe
fix: find repo.toml recursively
All checks were successful
build / build (push) Successful in 2m23s
2025-02-25 14:05:00 -05:00
51b68b7c87
refactor: re-organize tests & models
Some checks failed
build / build (push) Failing after 1m38s
2024-10-22 06:17:09 -04:00
74579cd539
style: make it python 3.6 compatible 2024-10-21 06:55:02 -04:00
8bf0f7cfff
feat: LLM generated convert function
All checks were successful
build / build (push) Successful in 1m3s
2024-10-20 04:46:41 -04:00