build step¶
- step build¶
Compile C source files using GCC
See also
- Package mtrchk-org-momotor-lang-gcc-build
Python package containing the checklet implementing this step. The recipe requires version
~=2.0, this document is based on version2.0.0.
- preflight@scheduler option¶
A preflight check handled by the scheduler. This allows recipes to indicate situations in which the step does not have to be executed.
See Scheduler preflight option for the documentation of this option.
- Type:
string
- Required:
False
- Multiple:
True
- All:
True
- Value:
%notall pass => skip
- tasks@scheduler option¶
Enable multiple tasks for this step. If not provided, a single task is generated for this step.
See Scheduler tasks option for the documentation of this option.
- Type:
string
- Required:
False
- Multiple:
False
- Value:
*
- secret option¶
Dynamic secret property value for the result. Momotor LTI will not show steps with a secret property set to
trueto learners, but will still show that step to reviewers.The option value can be one of the following:
alwaysortrue: adds a secret property with valuetrueto the result.false: do not add a secret property to the result.on-fail: adds a secret property with valuetrueto the result if the step fails.on-pass: adds a secret property with valuetrueto the result if the step passed.default: inherits the value from the next provider. If the last provider is ‘default’ no property will be added.
Note that this only adds a secret property with value
true, but never one with valuefalse. This ensures that a default defined in a recipe will be used unless the step or config explicitly override it.The value can contain reference placeholders to inherit the value from another step’s options or properties.
- Type:
Any
- Required:
False
- Multiple:
False
- Default:
on-pass
- label option¶
Label for this step. Momotor LTI uses labels as the header of the step in the result view. If a step does not have a label, Momotor LTI will use the step id as the label.
Can contain reference placeholders and task id placeholders.
- Type:
Any
- Required:
False
- Multiple:
False
- Default:
Build test case $1#
- feedback-pass option¶
Feedback to prepend to the report property when this step passes.
Can contain reference placeholders and task id placeholders.
- Type:
Any
- Required:
False
- Multiple:
False
- Default:
No default
- feedback-fail option¶
Feedback to prepend to the report property when this step fails.
Can contain reference placeholders and task id placeholders.
- Type:
Any
- Required:
False
- Multiple:
False
- Default:
No default
- timeLimit option¶
Maximum time allowed for execution. Can be supplied in
hh:mm:ssformat, or as seconds- Type:
Any
- Required:
False
- Multiple:
False
- Default:
No default
- blockLimit option¶
Maximum time allowed without any progress (wall clock time). Can be supplied in
hh:mm:ssformat, or as seconds- Type:
Any
- Required:
False
- Multiple:
False
- Default:
No default
- memoryLimit option¶
Maximum memory usage allowed for execution. Can use IEC or SI units, eg.
1k(for 1000 bytes) or1KiB(for 1024 bytes)- Type:
Any
- Required:
False
- Multiple:
False
- Default:
No default
- processLimit option¶
Maximum number of child processes
- Type:
integer
- Required:
False
- Multiple:
False
- Default:
No default
- gcc@tools option¶
GCC version(s) to use.
Can be a space or comma separated list of version requirements to indicate alternative version preferences (in order of most to least preferred).
See the tool registry documentation for details.
- Type:
Any
- Required:
False
- Multiple:
False
- Default:
gcc
- input-file-ref option¶
Reference to the C source files to build.
The files will be copied to a working directory and the file names will be provided to the compiler.
The reference is parsed with
find_files(), see that method for details.- Type:
Any
- Required:
False
- Multiple:
True
- All:
True
- Value:
No values
- extra-file-ref option¶
Reference to the additional source files to build (e.g. header files, libs etc.).
The files will be copied to the directory with the C files.
The reference is parsed with
find_files(), see that method for details.- Type:
Any
- Required:
False
- Multiple:
True
- All:
True
- Value:
No values
- language option¶
Language option (
-x) provided to the GCC compiler.- Type:
Any
- Required:
False
- Multiple:
False
- Default:
none
- standard option¶
Standard option (
-std) provided to the GCC compiler.- Type:
Any
- Required:
False
- Multiple:
False
- Default:
No default
- feature-option option¶
Feature option(s) (any boolean option starting with
-f) provided to the GCC compiler.- Type:
Any
- Required:
False
- Multiple:
True
- All:
True
- Value:
No values
- lib option¶
Libs option(s) (
-l) provided to the GCC compiler.- Type:
Any
- Required:
False
- Multiple:
True
- All:
False
- Value:
m
- extra-lib option¶
Additional libs option(s) (
-l) provided to the GCC compiler.- Type:
Any
- Required:
False
- Multiple:
True
- All:
True
- Value:
No values
- optimize option¶
Optimization option (
-O) provided to the GCC compiler.- Type:
Any
- Required:
False
- Multiple:
True
- All:
False
- Value:
No values
- warn option¶
Warning options (any boolean option starting with
-W) provided to the GCC compiler.- Type:
Any
- Required:
False
- Multiple:
True
- All:
True
- Value:
No values
- static-executable option¶
Build a static executable.
- Type:
boolean
- Required:
False
- Multiple:
False
- Default:
False
- output-file-name option¶
Name of the executable file.
- Type:
Any
- Required:
False
- Multiple:
False
- Default:
a.out
- output-file-class option¶
File class for collected executable files.
- Type:
Any
- Required:
False
- Multiple:
False
- Default:
executable
- pass-score option¶
Score when passing
- Type:
Any
- Required:
False
- Multiple:
False
- Default:
No default