Table of Contents
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