From f512cc9f0fd1f3943ee9b637b475cf864f6fb251 Mon Sep 17 00:00:00 2001 From: manuel Date: Wed, 2 Oct 2024 16:08:57 +0800 Subject: [PATCH] Update JOJ3 Configuration Schema --- JOJ3-Configuration-Schema.md | 44 +++++++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/JOJ3-Configuration-Schema.md b/JOJ3-Configuration-Schema.md index 5d4a1f8..66d0e89 100644 --- a/JOJ3-Configuration-Schema.md +++ b/JOJ3-Configuration-Schema.md @@ -1,11 +1,49 @@ # Basic meta config file specs -*Goals:* a single configuration file per assignment, which can easily be edited manually by TAs. This file is then parsed by joj-config-generation script to generate final internal `json` configurations files. +*Goals:* simple configuration files, which can easily be manually edited by TAs. These files is then parsed by joj-config-generation script to generate final internal `json` configurations files. + + +## repo level config file + +Used to discover what assignment and tasks are requested and where corresponding json config files can be found. + +- `assignments`: list of all assignments in this repo +- `assignment`: array of table with list of tasks + +Example: +- 4 assignments +- no task for 0, tasks 2 3 4 5 and 6 can be tested on joj for h1, etc. +- tree structure: `h1/2/conf.json` +- expected joj commit: `feat[h1/2]: joj` or `fix[h2/4]: joj` + +```toml +assignments = [ "h0", "h1", "h2", "h3" ] + +[[assignment]] + +[[assignment]] +tasks = [ 2, 3, 4, 5, 6 ] + +[[assignment]] +tasks = [ 1, 2, 4, 6 ] + +[[assignment]] +tasks = [ 2, 3, 4, 7 ] +``` + +Similarly for tree structure of type `hw1/ex7` +```toml +assignments = [ "hw0", "hw1", "hw2", "hw3" ] + +[[assignment]] + +[[assignment]] +tasks = [ "ex2", "ex3", "ex4", "ex5", "ex6" ] +``` + ## Assignment level -- hw_prefix -- hw_count - lang - mem_limit - cpu_limit