dev #10
2
.gitignore
vendored
|
@ -15,7 +15,7 @@ dist/
|
|||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
# lib/
|
||||
lib/
|
||||
jon-lee marked this conversation as resolved
Outdated
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
|
|
|
@ -29,13 +29,13 @@ def convert(
|
|||
result_conf = result.Config(
|
||||
name=task_conf.task.name,
|
||||
# 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",
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
Make this Make this `Path.home()` default to `/home/tt`. For now, create a const for this dir.
李衍志523370910113
commented
fixed fixed
|
||||
expire_unix_timestamp=(
|
||||
int(task_conf.release.deadline.timestamp())
|
||||
if task_conf.release.deadline
|
||||
else -1
|
||||
),
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
where is it used? where is it used?
李衍志523370910113
commented
this should be storing all the files that are about to be copy in or out this should be storing all the files that are about to be copy in or out
李衍志523370910113
commented
It is as the input and output for the following functions about parsers It is as the input and output for the following functions about parsers
张泊明518370910136
commented
so this feature is not implemented? so this feature is not implemented?
李衍志523370910113
commented
it is
this is a loop, so this ```python
if not repo_conf.force_skip_health_check_on_test or not current_test:
result_conf.stage.stages.append(get_health_check_config(repo_conf))
cached: List[str] = []
# Convert each stage in the task configuration
for task_stage in task_conf.stages:
executor_with_config, cached = get_executor_with_config(task_stage, cached)
conf_stage = get_conf_stage(task_stage, executor_with_config)
conf_stage = fix_result_detail(task_stage, conf_stage)
conf_stage = fix_dummy(task_stage, conf_stage)
conf_stage = fix_keyword(task_stage, conf_stage)
conf_stage = fix_file(task_stage, conf_stage)
conf_stage = fix_diff(task_stage, conf_stage, task_conf)
result_conf.stage.stages.append(conf_stage)
```
it is
```python
for task_stage in task_conf.stages:
executor_with_config, cached = get_executor_with_config(task_stage, cached)
```
this is a loop, so this `cached` will be updated in every round of stage
张泊明518370910136
commented
The return value is unnecessary. The return value is unnecessary.
李衍志523370910113
commented
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. 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.
张泊明518370910136
commented
1. The return value is unnecessary
2. It should be a `set`
张泊明518370910136
commented
try it yourself try it yourself
李衍志523370910113
commented
I see why I see why
李衍志523370910113
commented
resolved. resolved.
|
||||
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,
|
||||
stage=result.Stage(
|
||||
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 file in files:
|
||||
if file.endswith(".toml"):
|
||||
|
|
|
@ -9,6 +9,7 @@ import yaml
|
|||
|
||||
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 distribute_json
|
||||
from joj3_config_generator.models import joj1, repo, task
|
||||
from joj3_config_generator.utils.logger import logger
|
||||
|
||||
|
@ -42,14 +43,14 @@ def convert(
|
|||
"-r",
|
||||
help="This would be where you put your repo.toml file",
|
||||
),
|
||||
debug: bool = typer.Option(
|
||||
False, "--debug", "-d", help="Enable debug mode for more verbose output"
|
||||
distribute: bool = typer.Option(
|
||||
False, "--distribute", "-d", help="This flag determine whether to distribute"
|
||||
),
|
||||
) -> 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")
|
||||
task_toml_path = os.path.join(repo_path.absolute(), "basic", "task.toml")
|
||||
result_json_path = os.path.join(repo_path.absolute(), "basic", "task.json")
|
||||
task_toml_path = os.path.join(root.absolute(), "basic", "task.toml")
|
||||
result_json_path = os.path.join(root.absolute(), "basic", "task.json")
|
||||
with open(repo_toml_path, encoding=None) as repo_file:
|
||||
repo_toml = repo_file.read()
|
||||
with open(task_toml_path, encoding=None) as task_file:
|
||||
|
@ -65,5 +66,8 @@ def convert(
|
|||
|
||||
# distribution on json
|
||||
# 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from datetime import datetime
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
every field in this file should not be optional. we give an default value here if any field does not exist every field in this file should not be optional. we give an default value here if any field does not exist
张泊明518370910136
commented
and use underscore naming in this file and use underscore naming in this file
李衍志523370910113
commented
fixed > every field in this file should not be optional. we give an default value here if any field does not exist
fixed
李衍志523370910113
commented
fixed. > and use underscore naming in this file
fixed.
|
||||
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):
|
||||
|
@ -79,7 +79,7 @@ class Stage(BaseModel):
|
|||
skip: Optional[list[str]] = []
|
||||
|
||||
# cases related
|
||||
cases: Optional[Dict[str, "Stage"]] = {}
|
||||
cases: Optional[Dict[str, "Stage"]] = None
|
||||
diff: Optional[ParserDiff] = ParserDiff()
|
||||
|
||||
class Config:
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
deprecated deprecated
李衍志523370910113
commented
@bomingzh any suggestions on the structure? @bomingzh any suggestions on the structure?
张泊明518370910136
commented
```
PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.9/migration/
```
李衍志523370910113
commented
fixed with fixed with `model_config`
张泊明518370910136
commented
str here need to be a str here need to be a `StrEnum` now.
李衍志523370910113
commented
But I guess we don't know the set of case in advance, making it dynamic But I guess we don't know the set of case in advance, making it dynamic `StrEnum` is meaningless
张泊明518370910136
commented
line changed, the comment is for line changed, the comment is for `parsers`
|
||||
|
@ -91,13 +91,13 @@ class Stage(BaseModel):
|
|||
cases = {k: v for k, v in values.items() if k.startswith("case")}
|
||||
for key in cases:
|
||||
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
|
||||
|
||||
|
||||
class Release(BaseModel):
|
||||
deadline: Optional[datetime] # RFC 3339 formatted date-time with offset
|
||||
begin_time: Optional[datetime]
|
||||
deadline: Optional[datetime] = None # RFC 3339 formatted date-time with offset
|
||||
begin_time: Optional[datetime] = None
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
`begin_time` and `end_time` to make them match
李衍志523370910113
commented
resolved resolved
|
||||
|
||||
|
||||
class Task(BaseModel):
|
||||
|
|
|
@ -42,8 +42,8 @@ def get_joj1_run_stage(joj1_config: joj1.Config) -> task.Stage:
|
|||
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
|
||||
|
||||
|
||||
|
|
|
@ -27,9 +27,7 @@ def get_teapot_stage(repo_conf: repo.Config) -> result.StageDetail:
|
|||
with_=result.ExecutorWith(
|
||||
default=result.Cmd(
|
||||
args=shlex.split(args_),
|
||||
env=[
|
||||
f"LOG_FILE_PATH={Path.home()}/.cache/joint-teapot-debug.log"
|
||||
], # TODO: fix it according to the task name
|
||||
env=["LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log"],
|
||||
),
|
||||
cases=[],
|
||||
),
|
||||
|
@ -72,7 +70,7 @@ def get_debug_args(repo_conf: repo.Config) -> str:
|
|||
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 = ""
|
||||
for i, name in enumerate(repo_conf.groups.name):
|
||||
|
|
|
@ -61,7 +61,7 @@ def get_executorWithConfig(
|
|||
else []
|
||||
),
|
||||
copy_in={
|
||||
jon-lee marked this conversation as resolved
Outdated
张泊明518370910136
commented
not necessary not necessary
李衍志523370910113
commented
resolved. resolved.
|
||||
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
|
||||
# are there any corner cases
|
||||
for file in copy_in_files
|
||||
|
@ -277,7 +277,7 @@ def fix_diff(
|
|||
stage_cases.append(
|
||||
result.OptionalCmd(
|
||||
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),
|
||||
cpu_limit=cpu_limit,
|
||||
|
@ -300,7 +300,7 @@ def fix_diff(
|
|||
{
|
||||
"score": diff_output.score,
|
||||
"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,
|
||||
"alwaysHide": diff_output.hide,
|
||||
"compareSpace": not diff_output.ignorespaces,
|
||||
|
|
|
@ -12,6 +12,8 @@ dependencies = [
|
|||
"pydantic>=2.9.2",
|
||||
"inquirer>=3.4.0",
|
||||
"rtoml>=0.11.0",
|
||||
"humanfriendly>=10.0",
|
||||
"pytimeparse>=1.1.8",
|
||||
]
|
||||
requires-python = ">=3.9"
|
||||
authors = [{ name = "JOJ3-dev", email = "joj3@focs.ji.sjtu.edu.cn" }]
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"name": "hw7 ex2",
|
||||
"logPath": "/home/nuvole0217/.cache/joj3/homework/h7/e2.log",
|
||||
"logPath": "/home/tt/.cache/joj3/homework/h7/e2.log",
|
||||
"expireUnixTimestamp": 1735574399,
|
||||
"effectiveUnixTimestamp": -1,
|
||||
"actorCsvPath": "/home/nuvole0217/.config/joj/students.csv",
|
||||
"actorCsvPath": "/home/tt/.config/joj/students.csv",
|
||||
"maxTotalScore": 100,
|
||||
"stage": {
|
||||
"sandboxExecServer": "172.17.0.1:5051",
|
||||
|
@ -82,7 +82,7 @@
|
|||
"args": [
|
||||
"/usr/local/bin/joint-teapot",
|
||||
"joj3-check-env",
|
||||
"/home/nuvole0217/.config/teapot/teapot.env",
|
||||
"/home/tt/.config/teapot/teapot.env",
|
||||
"--grading-repo-name",
|
||||
"Nuvole-joj",
|
||||
"--group-config",
|
||||
|
@ -153,7 +153,7 @@
|
|||
"cpuSetLimit": "",
|
||||
"copyIn": {
|
||||
"tools/compile": {
|
||||
"src": "/home/nuvole0217/./tools/tools/compile",
|
||||
"src": "/home/tt/.config/joj/tools/tools/compile",
|
||||
"max": 419430400
|
||||
}
|
||||
},
|
||||
|
@ -243,7 +243,7 @@
|
|||
"cpuSetLimit": "",
|
||||
"copyIn": {
|
||||
"tools/filelength": {
|
||||
"src": "/home/nuvole0217/./tools/tools/filelength",
|
||||
"src": "/home/tt/.config/joj/tools/tools/filelength",
|
||||
"max": 419430400
|
||||
}
|
||||
},
|
||||
|
@ -352,7 +352,7 @@
|
|||
"cpuSetLimit": "",
|
||||
"copyIn": {
|
||||
"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
|
||||
}
|
||||
},
|
||||
|
@ -719,7 +719,7 @@
|
|||
"PATH=/usr/bin:/bin:/usr/local/bin"
|
||||
],
|
||||
"stdin": {
|
||||
"src": "/home/nuvole0217/./homework/h7/e2/case0.in",
|
||||
"src": "/home/tt/.config/joj/homework/h7/e2/case0.in",
|
||||
"max": 419430400
|
||||
},
|
||||
"cpuLimit": 1000000000,
|
||||
|
@ -736,7 +736,7 @@
|
|||
"PATH=/usr/bin:/bin:/usr/local/bin"
|
||||
],
|
||||
"stdin": {
|
||||
"src": "/home/nuvole0217/./homework/h7/e2/case1.in",
|
||||
"src": "/home/tt/.config/joj/homework/h7/e2/case1.in",
|
||||
"max": 419430400
|
||||
},
|
||||
"cpuLimit": 1000000000,
|
||||
|
@ -762,7 +762,7 @@
|
|||
{
|
||||
"score": 5,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/nuvole0217/./homework/h7/e2/case0.out",
|
||||
"answerPath": "/home/tt/.config/joj/homework/h7/e2/case0.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
|
@ -774,7 +774,7 @@
|
|||
{
|
||||
"score": 5,
|
||||
"fileName": "stdout",
|
||||
"answerPath": "/home/nuvole0217/./homework/h7/e2/case1.out",
|
||||
"answerPath": "/home/tt/.config/joj/homework/h7/e2/case1.out",
|
||||
"forceQuitOnDiff": false,
|
||||
"alwaysHide": false,
|
||||
"compareSpace": false
|
||||
|
@ -818,7 +818,7 @@
|
|||
"100"
|
||||
],
|
||||
"env": [
|
||||
"LOG_FILE_PATH=/home/nuvole0217/.cache/joint-teapot-debug.log"
|
||||
"LOG_FILE_PATH=/home/tt/.cache/joint-teapot-debug.log"
|
||||
],
|
||||
"stdin": {
|
||||
"content": "",
|
||||
|
|
|
@ -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]
|
33
tests/immutable_hteam-test/.gitattributes
vendored
|
@ -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
|
23
tests/immutable_hteam-test/.gitignore
vendored
|
@ -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
|
|
@ -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
|
|
@ -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 }}"
|
33
tests/immutable_hteam/.gitattributes
vendored
|
@ -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
|
23
tests/immutable_hteam/.gitignore
vendored
|
@ -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
|
|
@ -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
|
|
@ -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 }}"
|
33
tests/immutable_p3-test/.gitattributes
vendored
|
@ -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
|
29
tests/immutable_p3-test/.gitignore
vendored
|
@ -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
|
|
@ -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
|
|
@ -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 }}"
|
33
tests/immutable_p3/.gitattributes
vendored
|
@ -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
|
29
tests/immutable_p3/.gitignore
vendored
|
@ -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
|
|
@ -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
|
|
@ -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 }}"
|
should be ignored
fixed