Update JOJ3 Configuration Schema

manuel 2024-10-03 00:04:31 +08:00
parent 26959d7d4f
commit 2e2da6b419

@ -7,6 +7,22 @@ Levels:
- assignment: homework or project (no meta config needed at that level) - assignment: homework or project (no meta config needed at that level)
- task: exercise or milestone - task: exercise or milestone
## Commit message and course-joj repo tree
Commit messages must follow conventional commits format: `type[scope]: message`. We use `scope` to track the exact task which is being worked on.
Basic rules:
- health check is **always** run first
- all non JOJ stages are run on each push
- JOJ is only triggered if the message is `joj` or `joj` appears in the message **TBD**
Scope usage:
- `scope` must match joj config tree (`home/tt/.config/joj` subtree in `course-joj` repo), eg. if tree is `h1/ex2` the `scope` must be `h1/ex2`, if tree is `hw4/1` then scope is also `hw4/1`.
- if a scope is invalid then return a warning containing the list of valid scopes and exit nicely (either this is a typo, or this an exercise that do not require coding)
- as health check must always be run, `scope` should be checked after it
## Repo level ## Repo level
Teaching team info, eg. useful to check who triggered a grading. Teaching team info, eg. useful to check who triggered a grading.