dev #10
|
@ -33,7 +33,7 @@ def convert(repo_conf: repo.Config, task_conf: task.Config) -> result.Config:
|
|||
# Construct healthcheck stage
|
||||
healthcheck_stage = get_healthcheck_config(repo_conf)
|
||||
result_conf.stage.stages.append(healthcheck_stage)
|
||||
cached: list[str] = []
|
||||
cached: List[str] = []
|
||||
# Convert each stage in the task configuration
|
||||
jon-lee marked this conversation as resolved
Outdated
|
||||
for task_stage in task_conf.stages:
|
||||
executor_with_config, cached = get_executorWithConfig(task_stage, cached)
|
||||
|
|
|
@ -8,7 +8,7 @@ class CmdFile(BaseModel):
|
|||
content: Optional[str] = None
|
||||
file_id: Optional[str] = Field(None, serialization_alias="fileId")
|
||||
name: Optional[str] = None
|
||||
max: Optional[int] = 40 * 1024 * 1024
|
||||
max: Optional[int] = 400 * 1024 * 1024
|
||||
symlink: Optional[str] = None
|
||||
stream_in: bool = Field(False, serialization_alias="streamIn")
|
||||
stream_out: bool = Field(False, serialization_alias="streamOut")
|
||||
|
@ -24,7 +24,7 @@ class Cmd(BaseModel):
|
|||
cpu_limit: int = Field(4 * 1000000000000, serialization_alias="cpuLimit")
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
default value too large, should be 1s 128MB default value too large, should be 1s 128MB
李衍志523370910113
commented
will fix later, we need to hold some test I reckon? will fix later, we need to hold some test I reckon?
张泊明518370910136
commented
no no
李衍志523370910113
commented
@bomingzh fixed @bomingzh fixed
|
||||
real_cpu_limit: int = Field(0, serialization_alias="realCpuLimit")
|
||||
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")
|
||||
proc_limit: int = Field(50, serialization_alias="procLimit")
|
||||
proc_limit: int = Field(50, serialization_alias="procLimit")
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
unit? unit?
李衍志523370910113
commented
I think I think `timeparse` and `humanfriendly` would deal wth that?
李衍志523370910113
commented
resolved. resolved.
|
||||
|
@ -54,7 +54,7 @@ class OptionalCmd(BaseModel):
|
|||
real_cpu_limit: Optional[int] = Field(None, serialization_alias="realCpuLimit")
|
||||
clock_limit: Optional[int] = Field(8 * 1000000000000, serialization_alias="clockLimit")
|
||||
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")
|
||||
proc_limit: Optional[int] = Field(50, serialization_alias="procLimit")
|
||||
|
|
|
@ -40,10 +40,10 @@ class Files(BaseModel):
|
|||
|
||||
|
||||
class Limit(BaseModel):
|
||||
mem: Optional[int] = 4
|
||||
cpu: Optional[int] = 4
|
||||
stderr: Optional[int] = 4
|
||||
stdout: Optional[int] = 4
|
||||
mem: Optional[int] = 800
|
||||
cpu: Optional[int] = 1000
|
||||
stderr: Optional[int] = 800
|
||||
stdout: Optional[int] = 800
|
||||
|
||||
|
||||
class Stage(BaseModel):
|
||||
|
|
|
@ -47,8 +47,7 @@ def get_healthcheck_cmd(repo_conf: repo.Config) -> result.Cmd:
|
|||
immutable_files = immutable_files + name + " "
|
||||
else:
|
||||
immutable_files = immutable_files + name + ","
|
||||
# FIXME: need to make solution and make things easier to edit with global scope
|
||||
chore = f"./repo-health-checker -root=. "
|
||||
chore = f"/tmp/repo-health-checker -root=. "
|
||||
args = ""
|
||||
args = args + chore
|
||||
args = args + repo_size
|
||||
|
@ -63,7 +62,7 @@ def get_healthcheck_cmd(repo_conf: repo.Config) -> result.Cmd:
|
|||
args=shlex.split(args),
|
||||
copy_in={
|
||||
# This path is hardcoded
|
||||
f"./repo-health-checker": result.CmdFile(
|
||||
f"/tmp/repo-health-checker": result.CmdFile(
|
||||
src="/usr/local/bin/repo-health-checker"
|
||||
)
|
||||
},
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import shlex
|
||||
jon-lee marked this conversation as resolved
张泊明518370910136
commented
Path should not be relative to Path should not be relative to `JOJ3_CONFIG_ROOT` in this file, should be relative to `task.toml` dir
李衍志523370910113
commented
I reckon you said things is relative to I reckon you said things is relative to `JOJ3_CONFIG_ROOT` in JTC before. we have a `task.type` in `task.toml` to mend the path
张泊明518370910136
commented
`config.path` is relative to `JOJ3_CONFIG_ROOT`.
李衍志523370910113
commented
could you explain further? I m not quite sure my understanding is clear. could you explain further? I m not quite sure my understanding is clear.
张泊明518370910136
commented
In In `joj3_config_generator/models/task.py`, `Config.path` is relative to `JOJ3_CONFIG_ROOT`, so `task.toml` will located at `JOJ3_CONFIG_ROOT / task_conf.path` in JTC.
|
||||
from typing import Tuple
|
||||
from typing import Tuple, List
|
||||
jon-lee marked this conversation as resolved
张泊明518370910136
commented
Some Some `with_.update` is still using raw dict, not model with `model_dump`.
|
||||
|
||||
from joj3_config_generator.models import result, task
|
||||
|
||||
|
@ -29,8 +29,8 @@ def get_conf_stage(
|
|||
|
||||
|
||||
def get_executorWithConfig(
|
||||
task_stage: task.Stage, cached: list[str]
|
||||
) -> Tuple[result.ExecutorWith, list[str]]:
|
||||
task_stage: task.Stage, cached: List[str]
|
||||
) -> Tuple[result.ExecutorWith, List[str]]:
|
||||
file_import = (
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
should loop through should loop through `conf_stage.parsers` here and update the `with` field according to the parser name.
李衍志523370910113
commented
I think its already implemented in each of the I think its already implemented in each of the `fix_parsers` functions
张泊明518370910136
commented
No, do not find the parser in the No, do not find the parser in the `fix_xxx` function. Instead, iterate through the parsers here and decide how to fill in the `with`.
李衍志523370910113
commented
resolved. resolved.
张泊明518370910136
commented
Use a dict to store parser name, field, function to process.
Use a dict to store parser name, field, function to process.
```
process_dict: Dict[
str, Tuple[Callable[[result.ParserConfig, BaseModel], None], BaseModel]
] = {
"clangtidy": (fix_keyword, task_stage.clangtidy),
"keyword": (fix_keyword, task_stage.keyword),
"diff": (fix_diff, task_stage.diff),
}
for i, parser in enumerate(task_stage.parsers):
if parser in process_dict:
func, parser_model = process_dict[parser]
func(conf_stage.parsers[i], parser_model)
```
李衍志523370910113
commented
resolved. resolved.
|
||||
task_stage.files.import_
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
Do we need to support both kinds of names? Do we need to support both kinds of names?
李衍志523370910113
commented
probably yes, since it is easy for new ta to type it wrong probably yes, since it is easy for new ta to type it wrong
张泊明518370910136
commented
parsers name should be a str enum, force them to use the correct names parsers name should be a str enum, force them to use the correct names
李衍志523370910113
commented
ok, then removed. ok, then removed.
|
||||
if hasattr(task_stage, "files")
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
underscore underscore
李衍志523370910113
commented
fixed fixed
|
||||
|
@ -58,39 +58,39 @@ def get_executorWithConfig(
|
|||
file: result.CmdFile(src=f"/home/tt/.config/joj/{file}")
|
||||
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 [],
|
||||
cpu_limit=(
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
not necessary not necessary
李衍志523370910113
commented
resolved. resolved.
|
||||
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
|
||||
else 4 * 1_000_000_000
|
||||
else 80 * 1_000_000_000_000
|
||||
),
|
||||
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
|
||||
else 8 * 1_000_000_000
|
||||
else 80 * 1_000_000_000_000
|
||||
),
|
||||
memory_limit=(
|
||||
task_stage.limit.mem * 1_024 * 1_024
|
||||
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
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
do not use do not use `getattr`, visit the field explictly
李衍志523370910113
commented
resolved. resolved.
|
||||
),
|
||||
stderr=result.CmdFile(
|
||||
name="stderr",
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
is there a conclusion now? or it should have a prefix is there a conclusion now? or it should have a prefix `TODO: `?
李衍志523370910113
commented
so far works fine on 280 sides, indicating that pbs in 151 can be resolved with proper guidelines I think. so far works fine on 280 sides, indicating that pbs in 151 can be resolved with proper guidelines I think.
张泊明518370910136
commented
ok, then add that prefix ok, then add that prefix
|
||||
max=(
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
is it in the correct unit? is it in the correct unit?
Give all the fields in `Limit` a default value and make it non optional in task_stage.limit
李衍志523370910113
commented
resolved resolved
|
||||
task_stage.limit.stderr * 1_000_000_000
|
||||
task_stage.limit.stderr * 1_000_000_000_000
|
||||
if task_stage.limit 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(
|
||||
name="stdout",
|
||||
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
|
||||
and task_stage.limit.stdout is not None
|
||||
else 4 * 1_024 * 1_024
|
||||
else 800 * 1_024 * 1_024
|
||||
),
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
The reason for the suffix in The reason for the suffix in `keyword_parser_`?
李衍志523370910113
commented
just forgot to remove, sorry just forgot to remove, sorry
|
||||
),
|
||||
),
|
||||
|
|
|
@ -15,11 +15,11 @@
|
|||
"with": {
|
||||
"default": {
|
||||
"args": [
|
||||
"./repo-health-checker",
|
||||
"/tmp/repo-health-checker",
|
||||
"-root=.",
|
||||
"-repoSize=50.5",
|
||||
"-meta=Readme.md",
|
||||
"-checkFileSumList=a5b63323a692d3d8b952442969649b4f823d58dae26429494f613df160710dfc,b1bbad25b830db0a77b15a033f9ca1b7ab44c1d2d05056412bd3e4421645f0bf,1965adff52af61da8b9e089ff580d60f7e4c294a2930b9809c5cbdf76528de4d,c8bd62bf5297bac738b3845612fd595d677884093070904375463ab7953fce28",
|
||||
"-checkFileSumList=a5b63323a692d3d8b952442969649b4f823d58dae26429494f613df160710dfc,b1bbad25b830db0a77b15a033f9ca1b7ab44c1d2d05056412bd3e4421645f0bf,7300de510e1674f6d533ae799eb5395fae6d5fbe6f64ff5047480e503602a4da,ad7ba6fbee5d80e018e4190e31bd842553d540044f0faf13592d73cef93a061b",
|
||||
"-checkFileNameList=.gitignore,.gitattributes,.gitea/workflows/push.yaml,.gitea/workflows/release.yaml"
|
||||
],
|
||||
"env": [
|
||||
|
@ -27,7 +27,7 @@
|
|||
],
|
||||
"stdin": {
|
||||
"content": "",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
|
@ -49,15 +49,15 @@
|
|||
"cpuLimit": 4000000000000,
|
||||
"realCpuLimit": 0,
|
||||
"clockLimit": 8000000000000,
|
||||
"memoryLimit": 83886080,
|
||||
"memoryLimit": 838860800,
|
||||
"stackLimit": 0,
|
||||
"procLimit": 50,
|
||||
"cpuRateLimit": 0,
|
||||
"cpuSetLimit": "",
|
||||
"copyIn": {
|
||||
"./repo-health-checker": {
|
||||
"/tmp/repo-health-checker": {
|
||||
"src": "/usr/local/bin/repo-health-checker",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
|
@ -101,29 +101,29 @@
|
|||
],
|
||||
"stdin": {
|
||||
"content": "",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stdout": {
|
||||
"name": "stdout",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stderr": {
|
||||
"name": "stderr",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"cpuLimit": 4000000000,
|
||||
"cpuLimit": 1000000000000000,
|
||||
"realCpuLimit": 0,
|
||||
"clockLimit": 8000000000,
|
||||
"memoryLimit": 4194304,
|
||||
"clockLimit": 2000000000000000,
|
||||
"memoryLimit": 838860800,
|
||||
"stackLimit": 0,
|
||||
"procLimit": 50,
|
||||
"cpuRateLimit": 0,
|
||||
|
@ -131,23 +131,21 @@
|
|||
"copyIn": {
|
||||
"tools/compile": {
|
||||
"src": "/home/tt/.config/joj/tools/compile",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
}
|
||||
},
|
||||
"copyInCached": {
|
||||
"tools/compile": "tools/compile"
|
||||
},
|
||||
"copyInCached": {},
|
||||
"copyInDir": ".",
|
||||
"copyOut": [],
|
||||
"copyOutCached": [
|
||||
"h6/build/ex3",
|
||||
"build/asan",
|
||||
"build/ubsan",
|
||||
"build/msan",
|
||||
"build/compile_commands.json"
|
||||
"h6/build/asan",
|
||||
"h6/build/ubsan",
|
||||
"h6/build/msan",
|
||||
"h6/build/compile_commands.json"
|
||||
],
|
||||
"copyOutMax": 0,
|
||||
"copyOutDir": "",
|
||||
|
@ -209,29 +207,29 @@
|
|||
],
|
||||
"stdin": {
|
||||
"content": "",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stdout": {
|
||||
"name": "stdout",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stderr": {
|
||||
"name": "stderr",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"cpuLimit": 4000000000,
|
||||
"cpuLimit": 1000000000000000,
|
||||
"realCpuLimit": 0,
|
||||
"clockLimit": 8000000000,
|
||||
"memoryLimit": 4194304,
|
||||
"clockLimit": 2000000000000000,
|
||||
"memoryLimit": 838860800,
|
||||
"stackLimit": 0,
|
||||
"procLimit": 50,
|
||||
"cpuRateLimit": 0,
|
||||
|
@ -239,14 +237,18 @@
|
|||
"copyIn": {
|
||||
"tools/filelength": {
|
||||
"src": "/home/tt/.config/joj/tools/filelength",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
}
|
||||
},
|
||||
"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": ".",
|
||||
"copyOut": [],
|
||||
|
@ -323,29 +325,29 @@
|
|||
],
|
||||
"stdin": {
|
||||
"content": "",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stdout": {
|
||||
"name": "stdout",
|
||||
"max": 65000000000,
|
||||
"max": 65000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stderr": {
|
||||
"name": "stderr",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"cpuLimit": 4000000000,
|
||||
"cpuLimit": 1000000000000000,
|
||||
"realCpuLimit": 0,
|
||||
"clockLimit": 8000000000,
|
||||
"memoryLimit": 4194304,
|
||||
"clockLimit": 2000000000000000,
|
||||
"memoryLimit": 838860800,
|
||||
"stackLimit": 0,
|
||||
"procLimit": 50,
|
||||
"cpuRateLimit": 0,
|
||||
|
@ -353,14 +355,25 @@
|
|||
"copyIn": {
|
||||
"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,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
}
|
||||
},
|
||||
"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": ".",
|
||||
"copyOut": [],
|
||||
|
@ -464,35 +477,41 @@
|
|||
],
|
||||
"stdin": {
|
||||
"content": "",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stdout": {
|
||||
"name": "stdout",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stderr": {
|
||||
"name": "stderr",
|
||||
"max": 65000000000,
|
||||
"max": 65000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"cpuLimit": 4000000000,
|
||||
"cpuLimit": 1000000000000000,
|
||||
"realCpuLimit": 0,
|
||||
"clockLimit": 8000000000,
|
||||
"memoryLimit": 4194304,
|
||||
"clockLimit": 2000000000000000,
|
||||
"memoryLimit": 838860800,
|
||||
"stackLimit": 0,
|
||||
"procLimit": 50,
|
||||
"cpuRateLimit": 0,
|
||||
"cpuSetLimit": "",
|
||||
"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": ".",
|
||||
"copyOut": [],
|
||||
"copyOutCached": [],
|
||||
|
@ -571,35 +590,41 @@
|
|||
],
|
||||
"stdin": {
|
||||
"content": "",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stdout": {
|
||||
"name": "stdout",
|
||||
"max": 65000000000,
|
||||
"max": 65000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stderr": {
|
||||
"name": "stderr",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"cpuLimit": 4000000000,
|
||||
"cpuLimit": 1000000000000000,
|
||||
"realCpuLimit": 0,
|
||||
"clockLimit": 8000000000,
|
||||
"memoryLimit": 4194304,
|
||||
"clockLimit": 2000000000000000,
|
||||
"memoryLimit": 838860800,
|
||||
"stackLimit": 0,
|
||||
"procLimit": 50,
|
||||
"cpuRateLimit": 0,
|
||||
"cpuSetLimit": "",
|
||||
"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": ".",
|
||||
"copyOut": [],
|
||||
"copyOutCached": [],
|
||||
|
@ -680,35 +705,49 @@
|
|||
],
|
||||
"stdin": {
|
||||
"content": "",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stdout": {
|
||||
"name": "stdout",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stderr": {
|
||||
"name": "stderr",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"cpuLimit": 4000000000,
|
||||
"cpuLimit": 1000000000000000,
|
||||
"realCpuLimit": 0,
|
||||
"clockLimit": 8000000000,
|
||||
"memoryLimit": 4194304,
|
||||
"clockLimit": 2000000000000000,
|
||||
"memoryLimit": 838860800,
|
||||
"stackLimit": 0,
|
||||
"procLimit": 50,
|
||||
"cpuRateLimit": 0,
|
||||
"cpuSetLimit": "",
|
||||
"copyIn": {},
|
||||
"copyInCached": {},
|
||||
"copyIn": {
|
||||
"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": ".",
|
||||
"copyOut": [],
|
||||
"copyOutCached": [],
|
||||
|
@ -761,35 +800,49 @@
|
|||
],
|
||||
"stdin": {
|
||||
"content": "",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stdout": {
|
||||
"name": "stdout",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stderr": {
|
||||
"name": "stderr",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"cpuLimit": 4000000000,
|
||||
"cpuLimit": 1000000000000000,
|
||||
"realCpuLimit": 0,
|
||||
"clockLimit": 8000000000,
|
||||
"memoryLimit": 4194304,
|
||||
"clockLimit": 2000000000000000,
|
||||
"memoryLimit": 838860800,
|
||||
"stackLimit": 0,
|
||||
"procLimit": 50,
|
||||
"cpuRateLimit": 0,
|
||||
"cpuSetLimit": "",
|
||||
"copyIn": {},
|
||||
"copyInCached": {},
|
||||
"copyIn": {
|
||||
"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": ".",
|
||||
"copyOut": [],
|
||||
"copyOutCached": [],
|
||||
|
@ -842,35 +895,49 @@
|
|||
],
|
||||
"stdin": {
|
||||
"content": "",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stdout": {
|
||||
"name": "stdout",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stderr": {
|
||||
"name": "stderr",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"cpuLimit": 4000000000,
|
||||
"cpuLimit": 1000000000000000,
|
||||
"realCpuLimit": 0,
|
||||
"clockLimit": 8000000000,
|
||||
"memoryLimit": 4194304,
|
||||
"clockLimit": 2000000000000000,
|
||||
"memoryLimit": 838860800,
|
||||
"stackLimit": 0,
|
||||
"procLimit": 50,
|
||||
"cpuRateLimit": 0,
|
||||
"cpuSetLimit": "",
|
||||
"copyIn": {},
|
||||
"copyInCached": {},
|
||||
"copyIn": {
|
||||
"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": ".",
|
||||
"copyOut": [],
|
||||
"copyOutCached": [],
|
||||
|
@ -922,29 +989,29 @@
|
|||
],
|
||||
"stdin": {
|
||||
"content": "",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stdout": {
|
||||
"name": "stdout",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"stderr": {
|
||||
"name": "stderr",
|
||||
"max": 4000000000,
|
||||
"max": 800000000000000,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"cpuLimit": 4000000000,
|
||||
"cpuLimit": 1000000000000000,
|
||||
"realCpuLimit": 0,
|
||||
"clockLimit": 8000000000,
|
||||
"memoryLimit": 4194304,
|
||||
"clockLimit": 2000000000000000,
|
||||
"memoryLimit": 838860800,
|
||||
"stackLimit": 0,
|
||||
"procLimit": 50,
|
||||
"cpuRateLimit": 0,
|
||||
|
@ -952,46 +1019,46 @@
|
|||
"copyIn": {
|
||||
"h6/build/ex2": {
|
||||
"src": "/home/tt/.config/joj/h6/build/ex2",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"h6/build/ex4": {
|
||||
"src": "/home/tt/.config/joj/h6/build/ex4",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"h6/build/ex5": {
|
||||
"src": "/home/tt/.config/joj/h6/build/ex5",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"h6/build/ex6": {
|
||||
"src": "/home/tt/.config/joj/h6/build/ex6",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
},
|
||||
"h6/build/ex7": {
|
||||
"src": "/home/tt/.config/joj/h6/build/ex7",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
}
|
||||
},
|
||||
"copyInCached": {
|
||||
"h6/build/ex2": "h6/build/ex2",
|
||||
"h6/build/ex4": "h6/build/ex4",
|
||||
"h6/build/ex5": "h6/build/ex5",
|
||||
"h6/build/ex6": "h6/build/ex6",
|
||||
"h6/build/ex7": "h6/build/ex7"
|
||||
"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": ".",
|
||||
"copyOut": [],
|
||||
|
@ -1010,7 +1077,7 @@
|
|||
],
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case0.in",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
|
@ -1026,7 +1093,7 @@
|
|||
],
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case1.in",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
|
@ -1042,7 +1109,7 @@
|
|||
],
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case2.in",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
|
@ -1058,7 +1125,7 @@
|
|||
],
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case3.in",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
|
@ -1074,7 +1141,7 @@
|
|||
],
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case4.in",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
|
@ -1090,7 +1157,7 @@
|
|||
],
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case5.in",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
|
@ -1106,7 +1173,7 @@
|
|||
],
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case6.in",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
|
@ -1122,7 +1189,7 @@
|
|||
],
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case7.in",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
|
@ -1138,7 +1205,7 @@
|
|||
],
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case8.in",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
|
@ -1154,7 +1221,7 @@
|
|||
],
|
||||
"stdin": {
|
||||
"src": "/home/tt/.config/joj/tests/homework/h6/e3/case9.in",
|
||||
"max": 41943040,
|
||||
"max": 419430400,
|
||||
"streamIn": false,
|
||||
"streamOut": false,
|
||||
"pipe": false
|
||||
|
|
|
@ -10,7 +10,7 @@ release.stages = [ "compile" ]
|
|||
name = "Compilation"
|
||||
command = "./tools/compile" # eg. script running cmake commands
|
||||
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
|
||||
parsers = [ "result-detail", "dummy", "result-status" ]
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
name: Run JOJ3 on Push
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
run:
|
||||
container:
|
||||
|
@ -15,4 +16,4 @@ jobs:
|
|||
fetch-depth: 0
|
||||
- name: run joj3
|
||||
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
|
||||
|
|
|
@ -2,6 +2,7 @@ name: Run JOJ3 on Release
|
|||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
run:
|
||||
container:
|
||||
|
@ -17,4 +18,4 @@ jobs:
|
|||
fetch-depth: 0
|
||||
- name: run joj3
|
||||
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 }}"
|
||||
|
|
where is it used?
this should be storing all the files that are about to be copy in or out
It is as the input and output for the following functions about parsers
so this feature is not implemented?
it is
this is a loop, so this
cached
will be updated in every round of stageThe return value is unnecessary.
I have a lazing coding style here, everything has get imported would get exported, so should maintain this until the end of the loop. Everything is exported in previous stage would be imported in the next stage.
set
try it yourself
I see why
resolved.