docs: adding some details
parent
80119f1deb
commit
185ceb0740
|
@ -1,34 +1,45 @@
|
|||
# JOJ3 configuration documentation for TAs
|
||||
|
||||
*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 used by JOJ3.
|
||||
*Goals:* simple configuration files in `toml` format, which can easily be manually edited by TAs. These `toml` files are then parsed by `joj3-forge` script to generate final internal `json` configurations files used by JOJ3.
|
||||
|
||||
Levels:
|
||||
- repository: global repository configuration
|
||||
|
||||
- repository: global repository configuration
|
||||
- assignment: eg. homework or project
|
||||
- task: eg. exercise or milestone
|
||||
|
||||
A task is composed of *stages* which are composed of one or more *steps*, eg. in stage "online-judge" each test-case can be viewed as a step
|
||||
|
||||
## Background
|
||||
## Background
|
||||
|
||||
Brief introduction to the structure of JOJ configuration and how it impacts students' submissions.
|
||||
Brief introduction to the structure of JOJ3 configuration and how it impacts students' submissions.
|
||||
|
||||
### Configuration repository
|
||||
|
||||
All configuration is done through a `<course_name>-joj` repository. TAs connect to the repository, read the
|
||||
`Readme.md`, and follow instructions to setup JOJ3 for a course. If previous TAs have already
|
||||
prepared JOJ3, then only testing is required. Otherwise more setup is required.
|
||||
All configuration is done through a `<course_name>-joj` repository, e.g. `ece281-joj`. TAs connect to the repository, read the `README.md`, and follow instructions to setup JOJ3 for a course. If previous TAs have already prepared configuration JOJ3, then only testing is required. Otherwise more setup is required. Meanwhile, TAs who want to make new testcases should follow the rule of `toml` configuration, then convert them into `json`.
|
||||
|
||||
The repository follow the server structure, so that deploying is can done easily using a simple
|
||||
script. To find JOJ configuration files go to `home/tt/.config/joj`. Each folder should correspond
|
||||
to a different assignment. This is where `.toml` files will have to be pushed in order to generate
|
||||
the corresponding JOJ3 `conf.json` files.
|
||||
The repository follow the server structure, so that deploying is can done easily using a simple script. To find JOJ3 configuration files go to `/home/tt/.config/joj`. Each folder should correspond to a different assignment. This is where `.toml` files will have to be pushed in order to generate the corresponding JOJ3 `conf.json` files.
|
||||
|
||||
The logs of JOJ3 can be found under the folder `/home/tt/.cache`, which is then visualized in `joj-mon`, who parse the logs into more readable ones.
|
||||
|
||||
### Commit messages
|
||||
|
||||
When using JOJ3, Commit messages must follow conventional commits format: `type(scope): message`, where `scope` is used to track the exact task which is being worked on.
|
||||
|
||||
The conventional type should be:
|
||||
|
||||
- **feat**: adding new features
|
||||
- **fix**: fix bugs
|
||||
- **docs**: only fixing the docs, without touching the code
|
||||
- **style**: adjustment on the format of the code, not affecting the functionality (e.g. space, semicollon, code indentation)
|
||||
- **refactor**: restructure on the code, neither fixing the bugs nor adding new functions, only optimize the structure of the code
|
||||
- **perf**: enhance the performance of the code
|
||||
- **test**: adding or fixing the test code, not affecting the logic of the main code
|
||||
- **build**: affecting the build of the system or outer dependency (e.g. `npm`, `Makefile`)
|
||||
- **ci**: fixing CI/CD configuration files or scripts (e.g. Github Actions, Gitea Actions, CircleCI)
|
||||
- **chore**: other chore changes (e.g. update dependencies, constructions of tasks etc.)
|
||||
- **revert**: revert the commits pushed before
|
||||
|
||||
Basic rules:
|
||||
- health check is **always** run first
|
||||
- all non JOJ stages are run on each push
|
||||
|
|
Loading…
Reference in New Issue
Block a user