Update JOJ3 Configuration Schema

manuel 2024-10-02 16:34:43 +08:00
parent 1e6aabbdcb
commit eb6c333393

@ -2,11 +2,15 @@
*Goals:* simple configuration files, which can easily be manually edited by TAs. These files are then parsed by joj-config-generation script to generate final internal `json` configurations files and joj3 to find the `json` config files.
Levels:
- repo: repository
- assignment: homework or project
- task: exercise or milestone
## Repo level
Teaching team info, eg. useful to check who triggered a grading.
It should never be possible to disable health check.
Health check configuration:
- required files (readme, changelog)
@ -15,8 +19,21 @@ Health check configuration:
- immutable files (gitignore, workflows)
- repo size limit
**Important:** it should never be possible to disable health check.
## Task level
Basic idea:
- list all stages that are to be run
- provide config for each stage
- various code quality tools can be used, but they all feature:
- a command
- a list of tests
- a weight for each test
- joj sets a default score and cpu/mem limits
- test cases can be individually configured if necessary
```toml
stages = [ "compile", "code_quality", "joj" ]