12 doc: conf.toml detail
李衍志523370910113 edited this page 2024-09-16 14:58:24 +08:00

conf.toml Introduction

conf.toml file contains the details of steps that should be executed to the newly pushed code. This file will be placed in the repo of each student.

The conf.toml file will begin with:

logLevel = -4
sandboxExecServer = "172.17.0.1:5051"

which helps logging into the server.

In the file, there will be many stages stating each parser to run. To be more specific, the stages:

- healthcheck
- compile
- run

and the parsers:

- clangtidy
- cppcheck
- cpplint
- diff
- dummy
- healthcheck
- keyword
- resultstatus

During the run-joj process, we will have several stages where we will apply different parsers to the code. Those stages and parsers are what the users should know how to set. The sandbox executor always sends to go-judge. Stages run one by one. Each stage contains an executor that runs command and give the command output, and a parser that parse the output and generate score and comment.

Template

Here are the template code for stages and parsers:

[[stages]]
name = "" # stage name here
[stages.executor]
name = "sandbox"
[stages.executor.with.default]
args = [] # giving args here
env = ["PATH=/usr/bin:/bin:/usr/local/bin"] # provide env, usually set it as this example

# cpu, memory and proc limit
cpuLimit = 10_000_000_000
memoryLimit = 104_857_600
procLimit = 50

copyInCwd = true
copyOut = ["stdout", "stderr"]
[stages.executor.with.default.copyIn.healthcheck]
src = "/usr/local/bin/healthcheck"
copyOut = ["stdout", "stderr"]
[stages.executor.with.default.stdin]
content = ""
[stages.executor.with.default.stdout]
name = "stdout"
max = 4_096
[stages.executor.with.default.stderr]
name = "stderr"
max = 4_096

# configure parser
[stages.parser]
name = "" # set parser name
[stages.parser.with]
score = 0
comment = "" # comment from the conf file