fix: copyInCached

This commit is contained in:
李衍志523370910113 2024-11-13 00:59:05 +08:00
parent 184142536b
commit f163b88a6b
9 changed files with 195 additions and 127 deletions

View File

@ -33,7 +33,7 @@ def convert(repo_conf: repo.Config, task_conf: task.Config) -> result.Config:
# Construct healthcheck stage # Construct healthcheck stage
healthcheck_stage = get_healthcheck_config(repo_conf) healthcheck_stage = get_healthcheck_config(repo_conf)
result_conf.stage.stages.append(healthcheck_stage) result_conf.stage.stages.append(healthcheck_stage)
cached: list[str] = [] cached: List[str] = []
# Convert each stage in the task configuration # Convert each stage in the task configuration
for task_stage in task_conf.stages: for task_stage in task_conf.stages:
executor_with_config, cached = get_executorWithConfig(task_stage, cached) executor_with_config, cached = get_executorWithConfig(task_stage, cached)

View File

@ -8,7 +8,7 @@ class CmdFile(BaseModel):
content: Optional[str] = None content: Optional[str] = None
file_id: Optional[str] = Field(None, serialization_alias="fileId") file_id: Optional[str] = Field(None, serialization_alias="fileId")
name: Optional[str] = None name: Optional[str] = None
max: Optional[int] = 40 * 1024 * 1024 max: Optional[int] = 400 * 1024 * 1024
symlink: Optional[str] = None symlink: Optional[str] = None
stream_in: bool = Field(False, serialization_alias="streamIn") stream_in: bool = Field(False, serialization_alias="streamIn")
stream_out: bool = Field(False, serialization_alias="streamOut") stream_out: bool = Field(False, serialization_alias="streamOut")
@ -24,7 +24,7 @@ class Cmd(BaseModel):
cpu_limit: int = Field(4 * 1000000000000, serialization_alias="cpuLimit") cpu_limit: int = Field(4 * 1000000000000, serialization_alias="cpuLimit")
real_cpu_limit: int = Field(0, serialization_alias="realCpuLimit") real_cpu_limit: int = Field(0, serialization_alias="realCpuLimit")
clock_limit: int = Field(8 * 1000000000000, serialization_alias="clockLimit") clock_limit: int = Field(8 * 1000000000000, serialization_alias="clockLimit")
memory_limit: int = Field(80 * 1024 * 1024, serialization_alias="memoryLimit") memory_limit: int = Field(800 * 1024 * 1024, serialization_alias="memoryLimit")
stack_limit: int = Field(0, serialization_alias="stackLimit") stack_limit: int = Field(0, serialization_alias="stackLimit")
proc_limit: int = Field(50, serialization_alias="procLimit") proc_limit: int = Field(50, serialization_alias="procLimit")
proc_limit: int = Field(50, serialization_alias="procLimit") proc_limit: int = Field(50, serialization_alias="procLimit")
@ -54,7 +54,7 @@ class OptionalCmd(BaseModel):
real_cpu_limit: Optional[int] = Field(None, serialization_alias="realCpuLimit") real_cpu_limit: Optional[int] = Field(None, serialization_alias="realCpuLimit")
clock_limit: Optional[int] = Field(8 * 1000000000000, serialization_alias="clockLimit") clock_limit: Optional[int] = Field(8 * 1000000000000, serialization_alias="clockLimit")
memory_limit: Optional[int] = Field( memory_limit: Optional[int] = Field(
80 * 1024 * 1024, serialization_alias="memoryLimit" 800 * 1024 * 1024, serialization_alias="memoryLimit"
) )
stack_limit: Optional[int] = Field(None, serialization_alias="stackLimit") stack_limit: Optional[int] = Field(None, serialization_alias="stackLimit")
proc_limit: Optional[int] = Field(50, serialization_alias="procLimit") proc_limit: Optional[int] = Field(50, serialization_alias="procLimit")

View File

@ -40,10 +40,10 @@ class Files(BaseModel):
class Limit(BaseModel): class Limit(BaseModel):
mem: Optional[int] = 4 mem: Optional[int] = 800
cpu: Optional[int] = 4 cpu: Optional[int] = 1000
stderr: Optional[int] = 4 stderr: Optional[int] = 800
stdout: Optional[int] = 4 stdout: Optional[int] = 800
class Stage(BaseModel): class Stage(BaseModel):

View File

@ -47,8 +47,7 @@ def get_healthcheck_cmd(repo_conf: repo.Config) -> result.Cmd:
immutable_files = immutable_files + name + " " immutable_files = immutable_files + name + " "
else: else:
immutable_files = immutable_files + name + "," immutable_files = immutable_files + name + ","
# FIXME: need to make solution and make things easier to edit with global scope chore = f"/tmp/repo-health-checker -root=. "
chore = f"./repo-health-checker -root=. "
args = "" args = ""
args = args + chore args = args + chore
args = args + repo_size args = args + repo_size
@ -63,7 +62,7 @@ def get_healthcheck_cmd(repo_conf: repo.Config) -> result.Cmd:
args=shlex.split(args), args=shlex.split(args),
copy_in={ copy_in={
# This path is hardcoded # This path is hardcoded
f"./repo-health-checker": result.CmdFile( f"/tmp/repo-health-checker": result.CmdFile(
src="/usr/local/bin/repo-health-checker" src="/usr/local/bin/repo-health-checker"
) )
}, },

View File

@ -1,5 +1,5 @@
import shlex import shlex
from typing import Tuple from typing import Tuple, List
from joj3_config_generator.models import result, task from joj3_config_generator.models import result, task
@ -29,8 +29,8 @@ def get_conf_stage(
def get_executorWithConfig( def get_executorWithConfig(
task_stage: task.Stage, cached: list[str] task_stage: task.Stage, cached: List[str]
) -> Tuple[result.ExecutorWith, list[str]]: ) -> Tuple[result.ExecutorWith, List[str]]:
file_import = ( file_import = (
task_stage.files.import_ task_stage.files.import_
if hasattr(task_stage, "files") if hasattr(task_stage, "files")
@ -58,39 +58,39 @@ def get_executorWithConfig(
file: result.CmdFile(src=f"/home/tt/.config/joj/{file}") file: result.CmdFile(src=f"/home/tt/.config/joj/{file}")
for file in copy_in_files for file in copy_in_files
}, },
copy_in_cached={file: file for file in copy_in_files}, copy_in_cached={file: file for file in cached},
copy_out_cached=file_export if file_export is not None else [], copy_out_cached=file_export if file_export is not None else [],
cpu_limit=( cpu_limit=(
task_stage.limit.cpu * 1_000_000_000 task_stage.limit.cpu * 1_000_000_000_000
if task_stage.limit is not None and task_stage.limit.cpu is not None if task_stage.limit is not None and task_stage.limit.cpu is not None
else 4 * 1_000_000_000 else 80 * 1_000_000_000_000
), ),
clock_limit=( clock_limit=(
2 * task_stage.limit.cpu * 1_000_000_000 2 * task_stage.limit.cpu * 1_000_000_000_000
if task_stage.limit is not None and task_stage.limit.cpu is not None if task_stage.limit is not None and task_stage.limit.cpu is not None
else 8 * 1_000_000_000 else 80 * 1_000_000_000_000
), ),
memory_limit=( memory_limit=(
task_stage.limit.mem * 1_024 * 1_024 task_stage.limit.mem * 1_024 * 1_024
if task_stage.limit is not None and task_stage.limit.mem is not None if task_stage.limit is not None and task_stage.limit.mem is not None
else 4 * 1_024 * 1_024 else 800 * 1_024 * 1_024
), ),
stderr=result.CmdFile( stderr=result.CmdFile(
name="stderr", name="stderr",
max=( max=(
task_stage.limit.stderr * 1_000_000_000 task_stage.limit.stderr * 1_000_000_000_000
if task_stage.limit is not None if task_stage.limit is not None
and task_stage.limit.stderr is not None and task_stage.limit.stderr is not None
else 4 * 1_024 * 1_024 else 800 * 1_024 * 1_024
), ),
), ),
stdout=result.CmdFile( stdout=result.CmdFile(
name="stdout", name="stdout",
max=( max=(
task_stage.limit.stdout * 1_000_000_000 task_stage.limit.stdout * 1_000_000_000_000
if task_stage.limit is not None if task_stage.limit is not None
and task_stage.limit.stdout is not None and task_stage.limit.stdout is not None
else 4 * 1_024 * 1_024 else 800 * 1_024 * 1_024
), ),
), ),
), ),

View File

@ -15,11 +15,11 @@
"with": { "with": {
"default": { "default": {
"args": [ "args": [
"./repo-health-checker", "/tmp/repo-health-checker",
"-root=.", "-root=.",
"-repoSize=50.5", "-repoSize=50.5",
"-meta=Readme.md", "-meta=Readme.md",
"-checkFileSumList=a5b63323a692d3d8b952442969649b4f823d58dae26429494f613df160710dfc,b1bbad25b830db0a77b15a033f9ca1b7ab44c1d2d05056412bd3e4421645f0bf,1965adff52af61da8b9e089ff580d60f7e4c294a2930b9809c5cbdf76528de4d,c8bd62bf5297bac738b3845612fd595d677884093070904375463ab7953fce28", "-checkFileSumList=a5b63323a692d3d8b952442969649b4f823d58dae26429494f613df160710dfc,b1bbad25b830db0a77b15a033f9ca1b7ab44c1d2d05056412bd3e4421645f0bf,7300de510e1674f6d533ae799eb5395fae6d5fbe6f64ff5047480e503602a4da,ad7ba6fbee5d80e018e4190e31bd842553d540044f0faf13592d73cef93a061b",
"-checkFileNameList=.gitignore,.gitattributes,.gitea/workflows/push.yaml,.gitea/workflows/release.yaml" "-checkFileNameList=.gitignore,.gitattributes,.gitea/workflows/push.yaml,.gitea/workflows/release.yaml"
], ],
"env": [ "env": [
@ -27,7 +27,7 @@
], ],
"stdin": { "stdin": {
"content": "", "content": "",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
@ -49,15 +49,15 @@
"cpuLimit": 4000000000000, "cpuLimit": 4000000000000,
"realCpuLimit": 0, "realCpuLimit": 0,
"clockLimit": 8000000000000, "clockLimit": 8000000000000,
"memoryLimit": 83886080, "memoryLimit": 838860800,
"stackLimit": 0, "stackLimit": 0,
"procLimit": 50, "procLimit": 50,
"cpuRateLimit": 0, "cpuRateLimit": 0,
"cpuSetLimit": "", "cpuSetLimit": "",
"copyIn": { "copyIn": {
"./repo-health-checker": { "/tmp/repo-health-checker": {
"src": "/usr/local/bin/repo-health-checker", "src": "/usr/local/bin/repo-health-checker",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
@ -101,29 +101,29 @@
], ],
"stdin": { "stdin": {
"content": "", "content": "",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stdout": { "stdout": {
"name": "stdout", "name": "stdout",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stderr": { "stderr": {
"name": "stderr", "name": "stderr",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"cpuLimit": 4000000000, "cpuLimit": 1000000000000000,
"realCpuLimit": 0, "realCpuLimit": 0,
"clockLimit": 8000000000, "clockLimit": 2000000000000000,
"memoryLimit": 4194304, "memoryLimit": 838860800,
"stackLimit": 0, "stackLimit": 0,
"procLimit": 50, "procLimit": 50,
"cpuRateLimit": 0, "cpuRateLimit": 0,
@ -131,23 +131,21 @@
"copyIn": { "copyIn": {
"tools/compile": { "tools/compile": {
"src": "/home/tt/.config/joj/tools/compile", "src": "/home/tt/.config/joj/tools/compile",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
} }
}, },
"copyInCached": { "copyInCached": {},
"tools/compile": "tools/compile"
},
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [],
"copyOutCached": [ "copyOutCached": [
"h6/build/ex3", "h6/build/ex3",
"build/asan", "h6/build/asan",
"build/ubsan", "h6/build/ubsan",
"build/msan", "h6/build/msan",
"build/compile_commands.json" "h6/build/compile_commands.json"
], ],
"copyOutMax": 0, "copyOutMax": 0,
"copyOutDir": "", "copyOutDir": "",
@ -209,29 +207,29 @@
], ],
"stdin": { "stdin": {
"content": "", "content": "",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stdout": { "stdout": {
"name": "stdout", "name": "stdout",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stderr": { "stderr": {
"name": "stderr", "name": "stderr",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"cpuLimit": 4000000000, "cpuLimit": 1000000000000000,
"realCpuLimit": 0, "realCpuLimit": 0,
"clockLimit": 8000000000, "clockLimit": 2000000000000000,
"memoryLimit": 4194304, "memoryLimit": 838860800,
"stackLimit": 0, "stackLimit": 0,
"procLimit": 50, "procLimit": 50,
"cpuRateLimit": 0, "cpuRateLimit": 0,
@ -239,14 +237,18 @@
"copyIn": { "copyIn": {
"tools/filelength": { "tools/filelength": {
"src": "/home/tt/.config/joj/tools/filelength", "src": "/home/tt/.config/joj/tools/filelength",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
} }
}, },
"copyInCached": { "copyInCached": {
"tools/filelength": "tools/filelength" "h6/build/ex3": "h6/build/ex3",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json"
}, },
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [],
@ -323,29 +325,29 @@
], ],
"stdin": { "stdin": {
"content": "", "content": "",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stdout": { "stdout": {
"name": "stdout", "name": "stdout",
"max": 65000000000, "max": 65000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stderr": { "stderr": {
"name": "stderr", "name": "stderr",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"cpuLimit": 4000000000, "cpuLimit": 1000000000000000,
"realCpuLimit": 0, "realCpuLimit": 0,
"clockLimit": 8000000000, "clockLimit": 2000000000000000,
"memoryLimit": 4194304, "memoryLimit": 838860800,
"stackLimit": 0, "stackLimit": 0,
"procLimit": 50, "procLimit": 50,
"cpuRateLimit": 0, "cpuRateLimit": 0,
@ -353,14 +355,25 @@
"copyIn": { "copyIn": {
"projects/p2/.clang-tidy": { "projects/p2/.clang-tidy": {
"src": "/home/tt/.config/joj/projects/p2/.clang-tidy", "src": "/home/tt/.config/joj/projects/p2/.clang-tidy",
"max": 41943040, "max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
},
"build/compile_commands.json": {
"src": "/home/tt/.config/joj/build/compile_commands.json",
"max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
} }
}, },
"copyInCached": { "copyInCached": {
"projects/p2/.clang-tidy": "projects/p2/.clang-tidy" "h6/build/ex3": "h6/build/ex3",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json"
}, },
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [],
@ -464,35 +477,41 @@
], ],
"stdin": { "stdin": {
"content": "", "content": "",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stdout": { "stdout": {
"name": "stdout", "name": "stdout",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stderr": { "stderr": {
"name": "stderr", "name": "stderr",
"max": 65000000000, "max": 65000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"cpuLimit": 4000000000, "cpuLimit": 1000000000000000,
"realCpuLimit": 0, "realCpuLimit": 0,
"clockLimit": 8000000000, "clockLimit": 2000000000000000,
"memoryLimit": 4194304, "memoryLimit": 838860800,
"stackLimit": 0, "stackLimit": 0,
"procLimit": 50, "procLimit": 50,
"cpuRateLimit": 0, "cpuRateLimit": 0,
"cpuSetLimit": "", "cpuSetLimit": "",
"copyIn": {}, "copyIn": {},
"copyInCached": {}, "copyInCached": {
"h6/build/ex3": "h6/build/ex3",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json"
},
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [],
"copyOutCached": [], "copyOutCached": [],
@ -571,35 +590,41 @@
], ],
"stdin": { "stdin": {
"content": "", "content": "",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stdout": { "stdout": {
"name": "stdout", "name": "stdout",
"max": 65000000000, "max": 65000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stderr": { "stderr": {
"name": "stderr", "name": "stderr",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"cpuLimit": 4000000000, "cpuLimit": 1000000000000000,
"realCpuLimit": 0, "realCpuLimit": 0,
"clockLimit": 8000000000, "clockLimit": 2000000000000000,
"memoryLimit": 4194304, "memoryLimit": 838860800,
"stackLimit": 0, "stackLimit": 0,
"procLimit": 50, "procLimit": 50,
"cpuRateLimit": 0, "cpuRateLimit": 0,
"cpuSetLimit": "", "cpuSetLimit": "",
"copyIn": {}, "copyIn": {},
"copyInCached": {}, "copyInCached": {
"h6/build/ex3": "h6/build/ex3",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json"
},
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [],
"copyOutCached": [], "copyOutCached": [],
@ -680,35 +705,49 @@
], ],
"stdin": { "stdin": {
"content": "", "content": "",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stdout": { "stdout": {
"name": "stdout", "name": "stdout",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stderr": { "stderr": {
"name": "stderr", "name": "stderr",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"cpuLimit": 4000000000, "cpuLimit": 1000000000000000,
"realCpuLimit": 0, "realCpuLimit": 0,
"clockLimit": 8000000000, "clockLimit": 2000000000000000,
"memoryLimit": 4194304, "memoryLimit": 838860800,
"stackLimit": 0, "stackLimit": 0,
"procLimit": 50, "procLimit": 50,
"cpuRateLimit": 0, "cpuRateLimit": 0,
"cpuSetLimit": "", "cpuSetLimit": "",
"copyIn": {}, "copyIn": {
"copyInCached": {}, "build/asan": {
"src": "/home/tt/.config/joj/build/asan",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
}
},
"copyInCached": {
"h6/build/ex3": "h6/build/ex3",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json"
},
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [],
"copyOutCached": [], "copyOutCached": [],
@ -761,35 +800,49 @@
], ],
"stdin": { "stdin": {
"content": "", "content": "",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stdout": { "stdout": {
"name": "stdout", "name": "stdout",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stderr": { "stderr": {
"name": "stderr", "name": "stderr",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"cpuLimit": 4000000000, "cpuLimit": 1000000000000000,
"realCpuLimit": 0, "realCpuLimit": 0,
"clockLimit": 8000000000, "clockLimit": 2000000000000000,
"memoryLimit": 4194304, "memoryLimit": 838860800,
"stackLimit": 0, "stackLimit": 0,
"procLimit": 50, "procLimit": 50,
"cpuRateLimit": 0, "cpuRateLimit": 0,
"cpuSetLimit": "", "cpuSetLimit": "",
"copyIn": {}, "copyIn": {
"copyInCached": {}, "build/msan": {
"src": "/home/tt/.config/joj/build/msan",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
}
},
"copyInCached": {
"h6/build/ex3": "h6/build/ex3",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json"
},
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [],
"copyOutCached": [], "copyOutCached": [],
@ -842,35 +895,49 @@
], ],
"stdin": { "stdin": {
"content": "", "content": "",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stdout": { "stdout": {
"name": "stdout", "name": "stdout",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stderr": { "stderr": {
"name": "stderr", "name": "stderr",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"cpuLimit": 4000000000, "cpuLimit": 1000000000000000,
"realCpuLimit": 0, "realCpuLimit": 0,
"clockLimit": 8000000000, "clockLimit": 2000000000000000,
"memoryLimit": 4194304, "memoryLimit": 838860800,
"stackLimit": 0, "stackLimit": 0,
"procLimit": 50, "procLimit": 50,
"cpuRateLimit": 0, "cpuRateLimit": 0,
"cpuSetLimit": "", "cpuSetLimit": "",
"copyIn": {}, "copyIn": {
"copyInCached": {}, "build/ubsan": {
"src": "/home/tt/.config/joj/build/ubsan",
"max": 419430400,
"streamIn": false,
"streamOut": false,
"pipe": false
}
},
"copyInCached": {
"h6/build/ex3": "h6/build/ex3",
"h6/build/asan": "h6/build/asan",
"h6/build/ubsan": "h6/build/ubsan",
"h6/build/msan": "h6/build/msan",
"h6/build/compile_commands.json": "h6/build/compile_commands.json"
},
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [],
"copyOutCached": [], "copyOutCached": [],
@ -922,29 +989,29 @@
], ],
"stdin": { "stdin": {
"content": "", "content": "",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stdout": { "stdout": {
"name": "stdout", "name": "stdout",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"stderr": { "stderr": {
"name": "stderr", "name": "stderr",
"max": 4000000000, "max": 800000000000000,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"cpuLimit": 4000000000, "cpuLimit": 1000000000000000,
"realCpuLimit": 0, "realCpuLimit": 0,
"clockLimit": 8000000000, "clockLimit": 2000000000000000,
"memoryLimit": 4194304, "memoryLimit": 838860800,
"stackLimit": 0, "stackLimit": 0,
"procLimit": 50, "procLimit": 50,
"cpuRateLimit": 0, "cpuRateLimit": 0,
@ -952,46 +1019,46 @@
"copyIn": { "copyIn": {
"h6/build/ex2": { "h6/build/ex2": {
"src": "/home/tt/.config/joj/h6/build/ex2", "src": "/home/tt/.config/joj/h6/build/ex2",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"h6/build/ex4": { "h6/build/ex4": {
"src": "/home/tt/.config/joj/h6/build/ex4", "src": "/home/tt/.config/joj/h6/build/ex4",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"h6/build/ex5": { "h6/build/ex5": {
"src": "/home/tt/.config/joj/h6/build/ex5", "src": "/home/tt/.config/joj/h6/build/ex5",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"h6/build/ex6": { "h6/build/ex6": {
"src": "/home/tt/.config/joj/h6/build/ex6", "src": "/home/tt/.config/joj/h6/build/ex6",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
}, },
"h6/build/ex7": { "h6/build/ex7": {
"src": "/home/tt/.config/joj/h6/build/ex7", "src": "/home/tt/.config/joj/h6/build/ex7",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
} }
}, },
"copyInCached": { "copyInCached": {
"h6/build/ex2": "h6/build/ex2", "h6/build/ex3": "h6/build/ex3",
"h6/build/ex4": "h6/build/ex4", "h6/build/asan": "h6/build/asan",
"h6/build/ex5": "h6/build/ex5", "h6/build/ubsan": "h6/build/ubsan",
"h6/build/ex6": "h6/build/ex6", "h6/build/msan": "h6/build/msan",
"h6/build/ex7": "h6/build/ex7" "h6/build/compile_commands.json": "h6/build/compile_commands.json"
}, },
"copyInDir": ".", "copyInDir": ".",
"copyOut": [], "copyOut": [],
@ -1010,7 +1077,7 @@
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case0.in", "src": "/home/tt/.config/joj/tests/homework/h6/e3/case0.in",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
@ -1026,7 +1093,7 @@
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case1.in", "src": "/home/tt/.config/joj/tests/homework/h6/e3/case1.in",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
@ -1042,7 +1109,7 @@
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case2.in", "src": "/home/tt/.config/joj/tests/homework/h6/e3/case2.in",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
@ -1058,7 +1125,7 @@
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case3.in", "src": "/home/tt/.config/joj/tests/homework/h6/e3/case3.in",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
@ -1074,7 +1141,7 @@
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case4.in", "src": "/home/tt/.config/joj/tests/homework/h6/e3/case4.in",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
@ -1090,7 +1157,7 @@
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case5.in", "src": "/home/tt/.config/joj/tests/homework/h6/e3/case5.in",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
@ -1106,7 +1173,7 @@
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case6.in", "src": "/home/tt/.config/joj/tests/homework/h6/e3/case6.in",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
@ -1122,7 +1189,7 @@
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case7.in", "src": "/home/tt/.config/joj/tests/homework/h6/e3/case7.in",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
@ -1138,7 +1205,7 @@
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case8.in", "src": "/home/tt/.config/joj/tests/homework/h6/e3/case8.in",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false
@ -1154,7 +1221,7 @@
], ],
"stdin": { "stdin": {
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case9.in", "src": "/home/tt/.config/joj/tests/homework/h6/e3/case9.in",
"max": 41943040, "max": 419430400,
"streamIn": false, "streamIn": false,
"streamOut": false, "streamOut": false,
"pipe": false "pipe": false

View File

@ -10,7 +10,7 @@ release.stages = [ "compile" ]
name = "Compilation" name = "Compilation"
command = "./tools/compile" # eg. script running cmake commands command = "./tools/compile" # eg. script running cmake commands
files.import = [ "tools/compile" ] files.import = [ "tools/compile" ]
files.export = [ "h6/build/ex3", "build/asan", "build/ubsan", "build/msan", "build/compile_commands.json" ] files.export = [ "h6/build/ex3", "h6/build/asan", "h6/build/ubsan", "h6/build/msan", "h6/build/compile_commands.json" ]
# compile parsers # compile parsers
parsers = [ "result-detail", "dummy", "result-status" ] parsers = [ "result-detail", "dummy", "result-status" ]

View File

@ -1,5 +1,6 @@
name: Run JOJ3 on Push name: Run JOJ3 on Push
on: [push] on: [push]
jobs: jobs:
run: run:
container: container:
@ -15,4 +16,4 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- name: run joj3 - name: run joj3
run: | run: |
sudo -E -u tt joj3 -conf-root /home/tt/.config/joj sudo -E -u tt joj3 -conf-root /home/tt/.config/joj/tests/homework

View File

@ -2,6 +2,7 @@ name: Run JOJ3 on Release
on: on:
release: release:
types: [published] types: [published]
jobs: jobs:
run: run:
container: container:
@ -17,4 +18,4 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- name: run joj3 - name: run joj3
run: | run: |
sudo -E -u tt joj3 -conf-root /home/tt/.config/joj -msg "feat(h1-release): joj on ${{ github.ref }}" sudo -E -u tt joj3 -conf-root "/home/tt/.config/joj/tests/homework" -conf-name "conf-release.json" -tag "${{ github.ref_name }}"