chore: remove useless files
Some checks failed
build / build (push) Failing after 2m29s
build / build (pull_request) Failing after 2m27s

This commit is contained in:
李衍志523370910113 2025-02-24 22:12:35 +08:00
parent d1b718a30c
commit 4758e3be7a
26 changed files with 696 additions and 431 deletions

2
.gitignore vendored
View File

@ -15,7 +15,7 @@ dist/
downloads/ downloads/
eggs/ eggs/
.eggs/ .eggs/
# lib/ lib/
lib64/ lib64/
parts/ parts/
sdist/ sdist/

View File

@ -29,13 +29,13 @@ def convert(
result_conf = result.Config( result_conf = result.Config(
name=task_conf.task.name, name=task_conf.task.name,
# exact folder difference specified by type # exact folder difference specified by type
log_path=f"{Path.home()}/.cache/joj3/{task_conf.task.type_}.log", log_path=f"/home/tt/.cache/joj3/{task_conf.task.type_}.log",
expire_unix_timestamp=( expire_unix_timestamp=(
int(task_conf.release.deadline.timestamp()) int(task_conf.release.deadline.timestamp())
if task_conf.release.deadline if task_conf.release.deadline
else -1 else -1
), ),
actor_csv_path=f"{Path.home()}/.config/joj/students.csv", # students.csv position actor_csv_path="/home/tt/.config/joj/students.csv", # students.csv position
max_total_score=repo_conf.max_total_score, max_total_score=repo_conf.max_total_score,
stage=result.Stage( stage=result.Stage(
stages=[], stages=[],
@ -75,7 +75,7 @@ def convert_joj1(joj1_conf: joj1.Config) -> task.Config:
) )
def distribute_json(folder_path: Path, repo_obj: Any, conf_root: Path) -> None: def distribute_json(folder_path: str, repo_obj: Any, conf_root: Path) -> None:
for root, _, files in os.walk(folder_path): for root, _, files in os.walk(folder_path):
for file in files: for file in files:
if file.endswith(".toml"): if file.endswith(".toml"):

View File

@ -9,6 +9,7 @@ import yaml
from joj3_config_generator.convert import convert as convert_conf from joj3_config_generator.convert import convert as convert_conf
from joj3_config_generator.convert import convert_joj1 as convert_joj1_conf from joj3_config_generator.convert import convert_joj1 as convert_joj1_conf
from joj3_config_generator.convert import distribute_json
from joj3_config_generator.models import joj1, repo, task from joj3_config_generator.models import joj1, repo, task
from joj3_config_generator.utils.logger import logger from joj3_config_generator.utils.logger import logger
@ -42,14 +43,14 @@ def convert(
"-r", "-r",
help="This would be where you put your repo.toml file", help="This would be where you put your repo.toml file",
), ),
debug: bool = typer.Option( distribute: bool = typer.Option(
False, "--debug", "-d", help="Enable debug mode for more verbose output" False, "--distribute", "-d", help="This flag determine whether to distribute"
), ),
) -> Dict[str, Any]: ) -> Dict[str, Any]:
logger.info(f"Converting files in {repo_path.absolute()}") logger.info(f"Converting files in {root.absolute()}")
repo_toml_path = os.path.join(repo_path.absolute(), "basic", "repo.toml") repo_toml_path = os.path.join(repo_path.absolute(), "basic", "repo.toml")
task_toml_path = os.path.join(repo_path.absolute(), "basic", "task.toml") task_toml_path = os.path.join(root.absolute(), "basic", "task.toml")
result_json_path = os.path.join(repo_path.absolute(), "basic", "task.json") result_json_path = os.path.join(root.absolute(), "basic", "task.json")
with open(repo_toml_path, encoding=None) as repo_file: with open(repo_toml_path, encoding=None) as repo_file:
repo_toml = repo_file.read() repo_toml = repo_file.read()
with open(task_toml_path, encoding=None) as task_file: with open(task_toml_path, encoding=None) as task_file:
@ -65,5 +66,8 @@ def convert(
# distribution on json # distribution on json
# need a get folder path function # need a get folder path function
# distribute_json(root.absolute(), repo_obj, root) if distribute:
folder_path = "/home/tt/.config/joj"
folder_path = f"{Path.home()}/Desktop/engr151-joj/home/tt/.config/joj/homework"
distribute_json(folder_path, repo_obj, conf_root=root)
return result_dict return result_dict

View File

@ -1,7 +1,7 @@
from datetime import datetime from datetime import datetime
from typing import Any, Dict, List, Optional, Type from typing import Any, Dict, List, Optional, Type
from pydantic import BaseModel, Field, model_validator from pydantic import BaseModel, Field, model_serializer, model_validator
class ParserResultDetail(BaseModel): class ParserResultDetail(BaseModel):
@ -79,7 +79,7 @@ class Stage(BaseModel):
skip: Optional[list[str]] = [] skip: Optional[list[str]] = []
# cases related # cases related
cases: Optional[Dict[str, "Stage"]] = {} cases: Optional[Dict[str, "Stage"]] = None
diff: Optional[ParserDiff] = ParserDiff() diff: Optional[ParserDiff] = ParserDiff()
class Config: class Config:
@ -91,13 +91,13 @@ class Stage(BaseModel):
cases = {k: v for k, v in values.items() if k.startswith("case")} cases = {k: v for k, v in values.items() if k.startswith("case")}
for key in cases: for key in cases:
values.pop(key) values.pop(key)
values["cases"] = {k: Stage(**v) for k, v in cases.items()} values["cases"] = {k: v for k, v in cases.items()}
return values return values
class Release(BaseModel): class Release(BaseModel):
deadline: Optional[datetime] # RFC 3339 formatted date-time with offset deadline: Optional[datetime] = None # RFC 3339 formatted date-time with offset
begin_time: Optional[datetime] begin_time: Optional[datetime] = None
class Task(BaseModel): class Task(BaseModel):

View File

@ -42,8 +42,8 @@ def get_joj1_run_stage(joj1_config: joj1.Config) -> task.Stage:
else default_mem else default_mem
), ),
), ),
cases={f"case{i}": cases_conf[i] for i, _ in enumerate(joj1_config.cases)}, cases={f"case{i}": cases_conf[i] for i, _ in enumerate(cases_conf)},
) ) # TODO: no strong pattern match here, use dict instead
return run_config return run_config

View File

@ -27,9 +27,7 @@ def get_teapot_stage(repo_conf: repo.Config) -> result.StageDetail:
with_=result.ExecutorWith( with_=result.ExecutorWith(
default=result.Cmd( default=result.Cmd(
args=shlex.split(args_), args=shlex.split(args_),
env=[ env=["LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log"],
f"LOG_FILE_PATH={Path.home()}/.cache/joint-teapot-debug.log"
], # TODO: fix it according to the task name
), ),
cases=[], cases=[],
), ),
@ -72,7 +70,7 @@ def get_debug_args(repo_conf: repo.Config) -> str:
args = "" args = ""
args = ( args = (
args args
+ f"/usr/local/bin/joint-teapot joj3-check-env {Path.home()}/.config/teapot/teapot.env --grading-repo-name {get_grading_repo_name()} --group-config " + f"/usr/local/bin/joint-teapot joj3-check-env /home/tt/.config/teapot/teapot.env --grading-repo-name {get_grading_repo_name()} --group-config "
) )
group_config = "" group_config = ""
for i, name in enumerate(repo_conf.groups.name): for i, name in enumerate(repo_conf.groups.name):

View File

@ -61,7 +61,7 @@ def get_executorWithConfig(
else [] else []
), ),
copy_in={ copy_in={
file: result.CmdFile(src=f"{Path.home()}/{conf_root}/tools/{file}") file: result.CmdFile(src=f"/home/tt/{conf_root}/tools/{file}")
# all copyin files store in this tools folder # all copyin files store in this tools folder
# are there any corner cases # are there any corner cases
for file in copy_in_files for file in copy_in_files
@ -277,7 +277,7 @@ def fix_diff(
stage_cases.append( stage_cases.append(
result.OptionalCmd( result.OptionalCmd(
stdin=result.CmdFile( stdin=result.CmdFile(
src=f"{Path.home()}/{conf_root}/{task_conf.task.type_}/{stdin}" src=f"/home/tt/{conf_root}/{task_conf.task.type_}/{stdin}"
), ),
args=(shlex.split(command) if command is not None else None), args=(shlex.split(command) if command is not None else None),
cpu_limit=cpu_limit, cpu_limit=cpu_limit,
@ -300,7 +300,7 @@ def fix_diff(
{ {
"score": diff_output.score, "score": diff_output.score,
"fileName": "stdout", "fileName": "stdout",
"answerPath": f"{Path.home()}/{conf_root}/{task_conf.task.type_}/{stdout}", "answerPath": f"/home/tt/{conf_root}/{task_conf.task.type_}/{stdout}",
"forceQuitOnDiff": diff_output.forcequit, "forceQuitOnDiff": diff_output.forcequit,
"alwaysHide": diff_output.hide, "alwaysHide": diff_output.hide,
"compareSpace": not diff_output.ignorespaces, "compareSpace": not diff_output.ignorespaces,

View File

@ -12,6 +12,8 @@ dependencies = [
"pydantic>=2.9.2", "pydantic>=2.9.2",
"inquirer>=3.4.0", "inquirer>=3.4.0",
"rtoml>=0.11.0", "rtoml>=0.11.0",
"humanfriendly>=10.0",
"pytimeparse>=1.1.8",
] ]
requires-python = ">=3.9" requires-python = ">=3.9"
authors = [{ name = "JOJ3-dev", email = "joj3@focs.ji.sjtu.edu.cn" }] authors = [{ name = "JOJ3-dev", email = "joj3@focs.ji.sjtu.edu.cn" }]

View File

@ -1,9 +1,9 @@
{ {
"name": "hw7 ex2", "name": "hw7 ex2",
"logPath": "/home/nuvole0217/.cache/joj3/homework/h7/e2.log", "logPath": "/home/tt/.cache/joj3/homework/h7/e2.log",
"expireUnixTimestamp": 1735574399, "expireUnixTimestamp": 1735574399,
"effectiveUnixTimestamp": -1, "effectiveUnixTimestamp": -1,
"actorCsvPath": "/home/nuvole0217/.config/joj/students.csv", "actorCsvPath": "/home/tt/.config/joj/students.csv",
"maxTotalScore": 100, "maxTotalScore": 100,
"stage": { "stage": {
"sandboxExecServer": "172.17.0.1:5051", "sandboxExecServer": "172.17.0.1:5051",
@ -82,7 +82,7 @@
"args": [ "args": [
"/usr/local/bin/joint-teapot", "/usr/local/bin/joint-teapot",
"joj3-check-env", "joj3-check-env",
"/home/nuvole0217/.config/teapot/teapot.env", "/home/tt/.config/teapot/teapot.env",
"--grading-repo-name", "--grading-repo-name",
"Nuvole-joj", "Nuvole-joj",
"--group-config", "--group-config",
@ -153,7 +153,7 @@
"cpuSetLimit": "", "cpuSetLimit": "",
"copyIn": { "copyIn": {
"tools/compile": { "tools/compile": {
"src": "/home/nuvole0217/./tools/tools/compile", "src": "/home/tt/.config/joj/tools/tools/compile",
"max": 419430400 "max": 419430400
} }
}, },
@ -243,7 +243,7 @@
"cpuSetLimit": "", "cpuSetLimit": "",
"copyIn": { "copyIn": {
"tools/filelength": { "tools/filelength": {
"src": "/home/nuvole0217/./tools/tools/filelength", "src": "/home/tt/.config/joj/tools/tools/filelength",
"max": 419430400 "max": 419430400
} }
}, },
@ -352,7 +352,7 @@
"cpuSetLimit": "", "cpuSetLimit": "",
"copyIn": { "copyIn": {
"tests/homework/h7/.clang-tidy": { "tests/homework/h7/.clang-tidy": {
"src": "/home/nuvole0217/./tools/tests/homework/h7/.clang-tidy", "src": "/home/tt/.config/joj/tools/tests/homework/h7/.clang-tidy",
"max": 419430400 "max": 419430400
} }
}, },
@ -719,7 +719,7 @@
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"src": "/home/nuvole0217/./homework/h7/e2/case0.in", "src": "/home/tt/.config/joj/homework/h7/e2/case0.in",
"max": 419430400 "max": 419430400
}, },
"cpuLimit": 1000000000, "cpuLimit": 1000000000,
@ -736,7 +736,7 @@
"PATH=/usr/bin:/bin:/usr/local/bin" "PATH=/usr/bin:/bin:/usr/local/bin"
], ],
"stdin": { "stdin": {
"src": "/home/nuvole0217/./homework/h7/e2/case1.in", "src": "/home/tt/.config/joj/homework/h7/e2/case1.in",
"max": 419430400 "max": 419430400
}, },
"cpuLimit": 1000000000, "cpuLimit": 1000000000,
@ -762,7 +762,7 @@
{ {
"score": 5, "score": 5,
"fileName": "stdout", "fileName": "stdout",
"answerPath": "/home/nuvole0217/./homework/h7/e2/case0.out", "answerPath": "/home/tt/.config/joj/homework/h7/e2/case0.out",
"forceQuitOnDiff": false, "forceQuitOnDiff": false,
"alwaysHide": false, "alwaysHide": false,
"compareSpace": false "compareSpace": false
@ -774,7 +774,7 @@
{ {
"score": 5, "score": 5,
"fileName": "stdout", "fileName": "stdout",
"answerPath": "/home/nuvole0217/./homework/h7/e2/case1.out", "answerPath": "/home/tt/.config/joj/homework/h7/e2/case1.out",
"forceQuitOnDiff": false, "forceQuitOnDiff": false,
"alwaysHide": false, "alwaysHide": false,
"compareSpace": false "compareSpace": false
@ -818,7 +818,7 @@
"100" "100"
], ],
"env": [ "env": [
"LOG_FILE_PATH=/home/nuvole0217/.cache/joint-teapot-debug.log" "LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log"
], ],
"stdin": { "stdin": {
"content": "", "content": "",

View File

@ -0,0 +1,657 @@
[[stages]]
name = "This is the converted joj1 run stage"
score = 100
parsers = ["diff", "result-status"]
skip = []
[stages.limit]
mem = 32000000
cpu = 1
stderr = 800
stdout = 800
[stages.dummy]
comment = ""
score = 0
forcequit = false
[stages.result-status]
comment = ""
score = 0
forcequit = false
[stages.keyword]
keyword = []
weight = []
[stages.clangtidy]
keyword = []
weight = []
[stages.cppcheck]
keyword = []
weight = []
[stages.cpplint]
keyword = []
weight = []
[stages.result-detail]
time = true
mem = true
stdout = false
stderr = false
exitstatus = false
[stages.file]
[stages.cases.cases]
score = 0
parsers = []
skip = []
[stages.cases.cases.limit]
mem = 800
cpu = 1000
stderr = 800
stdout = 800
[stages.cases.cases.dummy]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.result-status]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.keyword]
keyword = []
weight = []
[stages.cases.cases.clangtidy]
keyword = []
weight = []
[stages.cases.cases.cppcheck]
keyword = []
weight = []
[stages.cases.cases.cpplint]
keyword = []
weight = []
[stages.cases.cases.result-detail]
time = true
mem = true
stdout = false
stderr = false
exitstatus = false
[stages.cases.cases.file]
[stages.cases.cases.cases.case0]
command = "-abcd --aaaa bbbb"
in = "case0.in"
out = "case0.out"
score = 10
parsers = []
skip = []
[stages.cases.cases.cases.case0.limit]
mem = 32000000
cpu = 1
stderr = 800
stdout = 800
[stages.cases.cases.cases.case0.dummy]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case0.result-status]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case0.keyword]
keyword = []
weight = []
[stages.cases.cases.cases.case0.clangtidy]
keyword = []
weight = []
[stages.cases.cases.cases.case0.cppcheck]
keyword = []
weight = []
[stages.cases.cases.cases.case0.cpplint]
keyword = []
weight = []
[stages.cases.cases.cases.case0.result-detail]
time = true
mem = true
stdout = false
stderr = false
exitstatus = false
[stages.cases.cases.cases.case0.file]
[stages.cases.cases.cases.case0.cases]
[stages.cases.cases.cases.case0.diff.output]
score = 0
ignorespaces = true
hide = false
forcequit = false
[stages.cases.cases.cases.case1]
in = "case1.in"
out = "case1.out"
score = 10
parsers = []
skip = []
[stages.cases.cases.cases.case1.limit]
mem = 32000000
cpu = 1
stderr = 800
stdout = 800
[stages.cases.cases.cases.case1.dummy]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case1.result-status]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case1.keyword]
keyword = []
weight = []
[stages.cases.cases.cases.case1.clangtidy]
keyword = []
weight = []
[stages.cases.cases.cases.case1.cppcheck]
keyword = []
weight = []
[stages.cases.cases.cases.case1.cpplint]
keyword = []
weight = []
[stages.cases.cases.cases.case1.result-detail]
time = true
mem = true
stdout = false
stderr = false
exitstatus = false
[stages.cases.cases.cases.case1.file]
[stages.cases.cases.cases.case1.cases]
[stages.cases.cases.cases.case1.diff.output]
score = 0
ignorespaces = true
hide = false
forcequit = false
[stages.cases.cases.cases.case2]
in = "case2.in"
out = "case2.out"
score = 10
parsers = []
skip = []
[stages.cases.cases.cases.case2.limit]
mem = 32000000
cpu = 1
stderr = 800
stdout = 800
[stages.cases.cases.cases.case2.dummy]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case2.result-status]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case2.keyword]
keyword = []
weight = []
[stages.cases.cases.cases.case2.clangtidy]
keyword = []
weight = []
[stages.cases.cases.cases.case2.cppcheck]
keyword = []
weight = []
[stages.cases.cases.cases.case2.cpplint]
keyword = []
weight = []
[stages.cases.cases.cases.case2.result-detail]
time = true
mem = true
stdout = false
stderr = false
exitstatus = false
[stages.cases.cases.cases.case2.file]
[stages.cases.cases.cases.case2.cases]
[stages.cases.cases.cases.case2.diff.output]
score = 0
ignorespaces = true
hide = false
forcequit = false
[stages.cases.cases.cases.case3]
in = "case3.in"
out = "case3.out"
score = 10
parsers = []
skip = []
[stages.cases.cases.cases.case3.limit]
mem = 32000000
cpu = 1
stderr = 800
stdout = 800
[stages.cases.cases.cases.case3.dummy]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case3.result-status]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case3.keyword]
keyword = []
weight = []
[stages.cases.cases.cases.case3.clangtidy]
keyword = []
weight = []
[stages.cases.cases.cases.case3.cppcheck]
keyword = []
weight = []
[stages.cases.cases.cases.case3.cpplint]
keyword = []
weight = []
[stages.cases.cases.cases.case3.result-detail]
time = true
mem = true
stdout = false
stderr = false
exitstatus = false
[stages.cases.cases.cases.case3.file]
[stages.cases.cases.cases.case3.cases]
[stages.cases.cases.cases.case3.diff.output]
score = 0
ignorespaces = true
hide = false
forcequit = false
[stages.cases.cases.cases.case4]
in = "case4.in"
out = "case4.out"
score = 10
parsers = []
skip = []
[stages.cases.cases.cases.case4.limit]
mem = 32000000
cpu = 1
stderr = 800
stdout = 800
[stages.cases.cases.cases.case4.dummy]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case4.result-status]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case4.keyword]
keyword = []
weight = []
[stages.cases.cases.cases.case4.clangtidy]
keyword = []
weight = []
[stages.cases.cases.cases.case4.cppcheck]
keyword = []
weight = []
[stages.cases.cases.cases.case4.cpplint]
keyword = []
weight = []
[stages.cases.cases.cases.case4.result-detail]
time = true
mem = true
stdout = false
stderr = false
exitstatus = false
[stages.cases.cases.cases.case4.file]
[stages.cases.cases.cases.case4.cases]
[stages.cases.cases.cases.case4.diff.output]
score = 0
ignorespaces = true
hide = false
forcequit = false
[stages.cases.cases.cases.case5]
in = "case5.in"
out = "case5.out"
score = 10
parsers = []
skip = []
[stages.cases.cases.cases.case5.limit]
mem = 32000000
cpu = 1
stderr = 800
stdout = 800
[stages.cases.cases.cases.case5.dummy]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case5.result-status]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case5.keyword]
keyword = []
weight = []
[stages.cases.cases.cases.case5.clangtidy]
keyword = []
weight = []
[stages.cases.cases.cases.case5.cppcheck]
keyword = []
weight = []
[stages.cases.cases.cases.case5.cpplint]
keyword = []
weight = []
[stages.cases.cases.cases.case5.result-detail]
time = true
mem = true
stdout = false
stderr = false
exitstatus = false
[stages.cases.cases.cases.case5.file]
[stages.cases.cases.cases.case5.cases]
[stages.cases.cases.cases.case5.diff.output]
score = 0
ignorespaces = true
hide = false
forcequit = false
[stages.cases.cases.cases.case6]
in = "case6.in"
out = "case6.out"
score = 10
parsers = []
skip = []
[stages.cases.cases.cases.case6.limit]
mem = 32000000
cpu = 1
stderr = 800
stdout = 800
[stages.cases.cases.cases.case6.dummy]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case6.result-status]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case6.keyword]
keyword = []
weight = []
[stages.cases.cases.cases.case6.clangtidy]
keyword = []
weight = []
[stages.cases.cases.cases.case6.cppcheck]
keyword = []
weight = []
[stages.cases.cases.cases.case6.cpplint]
keyword = []
weight = []
[stages.cases.cases.cases.case6.result-detail]
time = true
mem = true
stdout = false
stderr = false
exitstatus = false
[stages.cases.cases.cases.case6.file]
[stages.cases.cases.cases.case6.cases]
[stages.cases.cases.cases.case6.diff.output]
score = 0
ignorespaces = true
hide = false
forcequit = false
[stages.cases.cases.cases.case7]
in = "case7.in"
out = "case7.out"
score = 10
parsers = []
skip = []
[stages.cases.cases.cases.case7.limit]
mem = 32000000
cpu = 1
stderr = 800
stdout = 800
[stages.cases.cases.cases.case7.dummy]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case7.result-status]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case7.keyword]
keyword = []
weight = []
[stages.cases.cases.cases.case7.clangtidy]
keyword = []
weight = []
[stages.cases.cases.cases.case7.cppcheck]
keyword = []
weight = []
[stages.cases.cases.cases.case7.cpplint]
keyword = []
weight = []
[stages.cases.cases.cases.case7.result-detail]
time = true
mem = true
stdout = false
stderr = false
exitstatus = false
[stages.cases.cases.cases.case7.file]
[stages.cases.cases.cases.case7.cases]
[stages.cases.cases.cases.case7.diff.output]
score = 0
ignorespaces = true
hide = false
forcequit = false
[stages.cases.cases.cases.case8]
in = "case8.in"
out = "case8.out"
score = 10
parsers = []
skip = []
[stages.cases.cases.cases.case8.limit]
mem = 32000000
cpu = 1
stderr = 800
stdout = 800
[stages.cases.cases.cases.case8.dummy]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case8.result-status]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case8.keyword]
keyword = []
weight = []
[stages.cases.cases.cases.case8.clangtidy]
keyword = []
weight = []
[stages.cases.cases.cases.case8.cppcheck]
keyword = []
weight = []
[stages.cases.cases.cases.case8.cpplint]
keyword = []
weight = []
[stages.cases.cases.cases.case8.result-detail]
time = true
mem = true
stdout = false
stderr = false
exitstatus = false
[stages.cases.cases.cases.case8.file]
[stages.cases.cases.cases.case8.cases]
[stages.cases.cases.cases.case8.diff.output]
score = 0
ignorespaces = true
hide = false
forcequit = false
[stages.cases.cases.cases.case9]
in = "case9.in"
out = "case9.out"
score = 10
parsers = []
skip = []
[stages.cases.cases.cases.case9.limit]
mem = 32000000
cpu = 1
stderr = 800
stdout = 800
[stages.cases.cases.cases.case9.dummy]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case9.result-status]
comment = ""
score = 0
forcequit = false
[stages.cases.cases.cases.case9.keyword]
keyword = []
weight = []
[stages.cases.cases.cases.case9.clangtidy]
keyword = []
weight = []
[stages.cases.cases.cases.case9.cppcheck]
keyword = []
weight = []
[stages.cases.cases.cases.case9.cpplint]
keyword = []
weight = []
[stages.cases.cases.cases.case9.result-detail]
time = true
mem = true
stdout = false
stderr = false
exitstatus = false
[stages.cases.cases.cases.case9.file]
[stages.cases.cases.cases.case9.cases]
[stages.cases.cases.cases.case9.diff.output]
score = 0
ignorespaces = true
hide = false
forcequit = false
[stages.cases.cases.diff.output]
score = 0
ignorespaces = true
hide = false
forcequit = false
[stages.diff.output]
score = 0
ignorespaces = true
hide = false
forcequit = false
[task]
type = ""
name = "Blank Task"
[release]

View File

@ -1,33 +0,0 @@
*.avi filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.djvu filter=lfs diff=lfs merge=lfs -text
*.doc filter=lfs diff=lfs merge=lfs -text
*.docx filter=lfs diff=lfs merge=lfs -text
*.epub filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.ipynb filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.JPEG filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.JPG filter=lfs diff=lfs merge=lfs -text
*.mkv filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.ods filter=lfs diff=lfs merge=lfs -text
*.odt filter=lfs diff=lfs merge=lfs -text
*.otf filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.PDF filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.PNG filter=lfs diff=lfs merge=lfs -text
*.ppt filter=lfs diff=lfs merge=lfs -text
*.pptx filter=lfs diff=lfs merge=lfs -text
*.ps filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.webm filter=lfs diff=lfs merge=lfs -text
*.xls filter=lfs diff=lfs merge=lfs -text
*.xlsx filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text

View File

@ -1,23 +0,0 @@
################################
## White list based gitignore ##
################################
# forbidden
*
.*
# allowed
!.gitignore
!.gitattributes
!.gitea/
!.gitea/issue_template/
!.gitea/workflows/
!*.yaml
!Makefile
!CMakeLists.txt
!h[0-8]/
!*.m
!*.c
!*.cpp
!*.h
!*.md

View File

@ -1,19 +0,0 @@
name: Run JOJ3 on Push
on: [push]
jobs:
run:
container:
image: focs.ji.sjtu.edu.cn:5000/gitea/runner-images:focs-ubuntu-latest-slim
volumes:
- /home/tt/.config:/home/tt/.config
- /home/tt/.cache:/home/tt/.cache
- /home/tt/.ssh:/home/tt/.ssh
steps:
- name: Check out repository code
uses: https://gitea.com/BoYanZh/checkout@focs
with:
fetch-depth: 0
- name: run joj3
run: |
sudo -E -u tt joj3 -conf-root /home/tt/.config/joj/tests/homework

View File

@ -1,21 +0,0 @@
name: Run JOJ3 on Release
on:
release:
types: [published]
jobs:
run:
container:
image: focs.ji.sjtu.edu.cn:5000/gitea/runner-images:focs-ubuntu-latest-slim
volumes:
- /home/tt/.config:/home/tt/.config
- /home/tt/.cache:/home/tt/.cache
- /home/tt/.ssh:/home/tt/.ssh
steps:
- name: Check out repository code
uses: https://gitea.com/BoYanZh/checkout@focs
with:
fetch-depth: 0
- name: run joj3
run: |
sudo -E -u tt joj3 -conf-root "/home/tt/.config/joj/tests/homework" -conf-name "conf-release.json" -tag "${{ github.ref_name }}"

View File

@ -1,33 +0,0 @@
*.avi filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.djvu filter=lfs diff=lfs merge=lfs -text
*.doc filter=lfs diff=lfs merge=lfs -text
*.docx filter=lfs diff=lfs merge=lfs -text
*.epub filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.ipynb filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.JPEG filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.JPG filter=lfs diff=lfs merge=lfs -text
*.mkv filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.ods filter=lfs diff=lfs merge=lfs -text
*.odt filter=lfs diff=lfs merge=lfs -text
*.otf filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.PDF filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.PNG filter=lfs diff=lfs merge=lfs -text
*.ppt filter=lfs diff=lfs merge=lfs -text
*.pptx filter=lfs diff=lfs merge=lfs -text
*.ps filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.webm filter=lfs diff=lfs merge=lfs -text
*.xls filter=lfs diff=lfs merge=lfs -text
*.xlsx filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text

View File

@ -1,23 +0,0 @@
################################
## White list based gitignore ##
################################
# forbidden
*
.*
# allowed
!.gitignore
!.gitattributes
!.gitea/
!.gitea/issue_template/
!.gitea/workflows/
!*.yaml
!Makefile
!CMakeLists.txt
!h[0-8]/
!*.m
!*.c
!*.cpp
!*.h
!*.md

View File

@ -1,19 +0,0 @@
name: Run JOJ3 on Push
on: [push]
jobs:
run:
container:
image: focs.ji.sjtu.edu.cn:5000/gitea/runner-images:focs-ubuntu-latest-slim
volumes:
- /home/tt/.config:/home/tt/.config
- /home/tt/.cache:/home/tt/.cache
- /home/tt/.ssh:/home/tt/.ssh
steps:
- name: Check out repository code
uses: https://gitea.com/BoYanZh/checkout@focs
with:
fetch-depth: 0
- name: run joj3
run: |
sudo -E -u tt joj3 -conf-root /home/tt/.config/joj/homework

View File

@ -1,21 +0,0 @@
name: Run JOJ3 on Release
on:
release:
types: [published]
jobs:
run:
container:
image: focs.ji.sjtu.edu.cn:5000/gitea/runner-images:focs-ubuntu-latest-slim
volumes:
- /home/tt/.config:/home/tt/.config
- /home/tt/.cache:/home/tt/.cache
- /home/tt/.ssh:/home/tt/.ssh
steps:
- name: Check out repository code
uses: https://gitea.com/BoYanZh/checkout@focs
with:
fetch-depth: 0
- name: run joj3
run: |
sudo -E -u tt joj3 -conf-root "/home/tt/.config/joj/homework" -conf-name "conf-release.json" -tag "${{ github.ref_name }}"

View File

@ -1,33 +0,0 @@
*.avi filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.djvu filter=lfs diff=lfs merge=lfs -text
*.doc filter=lfs diff=lfs merge=lfs -text
*.docx filter=lfs diff=lfs merge=lfs -text
*.epub filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.ipynb filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.JPEG filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.JPG filter=lfs diff=lfs merge=lfs -text
*.mkv filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.ods filter=lfs diff=lfs merge=lfs -text
*.odt filter=lfs diff=lfs merge=lfs -text
*.otf filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.PDF filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.PNG filter=lfs diff=lfs merge=lfs -text
*.ppt filter=lfs diff=lfs merge=lfs -text
*.pptx filter=lfs diff=lfs merge=lfs -text
*.ps filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.webm filter=lfs diff=lfs merge=lfs -text
*.xls filter=lfs diff=lfs merge=lfs -text
*.xlsx filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text

View File

@ -1,29 +0,0 @@
################################
## White list based gitignore ##
################################
# forbidden
*
.*
# allowed
!.gitignore
!.gitattributes
!.gitea/
!.gitea/issue_template/
!.gitea/workflows/
!src/
src/*
!src/ipa
!src/ipa/*.h
!src/ipa/*.cpp
!src/ipa/Makefile
!src/pms
!src/pms/*.cpp
!src/pms/*.h
!src/pms/Makefile
!CMakeLists.txt
!Makefile
!*.md
!*.yaml

View File

@ -1,19 +0,0 @@
name: Run JOJ3 on Push
on: [push]
jobs:
run:
container:
image: focs.ji.sjtu.edu.cn:5000/gitea/runner-images:focs-ubuntu-latest-slim
volumes:
- /home/tt/.config:/home/tt/.config
- /home/tt/.cache:/home/tt/.cache
- /home/tt/.ssh:/home/tt/.ssh
steps:
- name: Check out repository code
uses: https://gitea.com/BoYanZh/checkout@focs
with:
fetch-depth: 0
- name: run joj3
run: |
sudo -E -u tt joj3 -conf-root /home/tt/.config/joj/tests/projects/p3

View File

@ -1,21 +0,0 @@
name: Run JOJ3 on Release
on:
release:
types: [published]
jobs:
run:
container:
image: focs.ji.sjtu.edu.cn:5000/gitea/runner-images:focs-ubuntu-latest-slim
volumes:
- /home/tt/.config:/home/tt/.config
- /home/tt/.cache:/home/tt/.cache
- /home/tt/.ssh:/home/tt/.ssh
steps:
- name: Check out repository code
uses: https://gitea.com/BoYanZh/checkout@focs
with:
fetch-depth: 0
- name: run joj3
run: |
sudo -E -u tt joj3 -conf-root "/home/tt/.config/joj/tests/projects/p3" -conf-name "conf-release.json" -tag "${{ github.ref_name }}"

View File

@ -1,33 +0,0 @@
*.avi filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.djvu filter=lfs diff=lfs merge=lfs -text
*.doc filter=lfs diff=lfs merge=lfs -text
*.docx filter=lfs diff=lfs merge=lfs -text
*.epub filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.ipynb filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.JPEG filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.JPG filter=lfs diff=lfs merge=lfs -text
*.mkv filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.ods filter=lfs diff=lfs merge=lfs -text
*.odt filter=lfs diff=lfs merge=lfs -text
*.otf filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.PDF filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.PNG filter=lfs diff=lfs merge=lfs -text
*.ppt filter=lfs diff=lfs merge=lfs -text
*.pptx filter=lfs diff=lfs merge=lfs -text
*.ps filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.webm filter=lfs diff=lfs merge=lfs -text
*.xls filter=lfs diff=lfs merge=lfs -text
*.xlsx filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text

View File

@ -1,29 +0,0 @@
################################
## White list based gitignore ##
################################
# forbidden
*
.*
# allowed
!.gitignore
!.gitattributes
!.gitea/
!.gitea/issue_template/
!.gitea/workflows/
!src/
src/*
!src/ipa
!src/ipa/*.h
!src/ipa/*.cpp
!src/ipa/Makefile
!src/pms
!src/pms/*.cpp
!src/pms/*.h
!src/pms/Makefile
!CMakeLists.txt
!Makefile
!*.md
!*.yaml

View File

@ -1,19 +0,0 @@
name: Run JOJ3 on Push
on: [push]
jobs:
run:
container:
image: focs.ji.sjtu.edu.cn:5000/gitea/runner-images:focs-ubuntu-latest-slim
volumes:
- /home/tt/.config:/home/tt/.config
- /home/tt/.cache:/home/tt/.cache
- /home/tt/.ssh:/home/tt/.ssh
steps:
- name: Check out repository code
uses: https://gitea.com/BoYanZh/checkout@focs
with:
fetch-depth: 0
- name: run joj3
run: |
sudo -E -u tt joj3 -conf-root /home/tt/.config/joj/projects/p3

View File

@ -1,21 +0,0 @@
name: Run JOJ3 on Release
on:
release:
types: [published]
jobs:
run:
container:
image: focs.ji.sjtu.edu.cn:5000/gitea/runner-images:focs-ubuntu-latest-slim
volumes:
- /home/tt/.config:/home/tt/.config
- /home/tt/.cache:/home/tt/.cache
- /home/tt/.ssh:/home/tt/.ssh
steps:
- name: Check out repository code
uses: https://gitea.com/BoYanZh/checkout@focs
with:
fetch-depth: 0
- name: run joj3
run: |
sudo -E -u tt joj3 -conf-root "/home/tt/.config/joj/projects/p3" -conf-name "conf-release.json" -tag "${{ github.ref_name }}"