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