All checks were successful
build / build (push) Successful in 2m32s
## What I have done: - basic generation of json files - supported parsers: - healthcheck - result-detail - result-status - file - log - dummy - keyword (keyword, clangtidy, cppcheck, cpplint) - diff - `convert` functions is mature, tested in engr151-24fa last two homeworks and engr151-24fa p3 - teapot and healthcheck should be up to date ## TODO - update all new comming parsers in future. @bomingzh Could you please help me do a code review first then I shall fix all things and rebase? I checked the source code of JOJ3 currently, and find we have more parsers, such as plugin and tierscore, I haven''t added them yet, and some of the keys might have changed such as clang-tidy, can you help me take a look if current version is still up to date? I ll redo the fix tomorrow Co-authored-by: Boming Zhang <bomingzh@sjtu.edu.cn> Reviewed-on: #10 Reviewed-by: 张泊明518370910136 <bomingzh@sjtu.edu.cn> Co-authored-by: jon-lee <jon-lee@sjtu.edu.cn> Co-committed-by: jon-lee <jon-lee@sjtu.edu.cn>
30 lines
730 B
Python
30 lines
730 B
Python
import socket
|
|
from pathlib import Path
|
|
from typing import List
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class Files(BaseModel):
|
|
required: List[str] = []
|
|
immutable: List[str] = []
|
|
|
|
|
|
class Groups(BaseModel):
|
|
name: List[str] = []
|
|
max_count: List[int] = []
|
|
time_period_hour: List[int] = []
|
|
|
|
|
|
class Config(BaseModel):
|
|
max_size: float = Field(10, ge=0)
|
|
files: Files = Files()
|
|
sandbox_token: str = Field("")
|
|
max_total_score: int = Field(100)
|
|
force_skip_health_check_on_test: bool = False
|
|
force_skip_teapot_on_test: bool = False
|
|
groups: Groups = Groups()
|
|
root: Path = Path(".")
|
|
path: Path = Path("repo.toml")
|
|
grading_repo_name: str = f"{socket.gethostname().split('-')[0]}-joj"
|