The "signaloid.yaml" File
Pre-configure how the Signaloid Cloud Compute Engine runs your application
with a signaloid.yaml file at the repository root.
A signaloid.yaml (or signaloid.yml) file at the top level of a repository
gives the Signaloid Cloud Developer Platform extra context about your
application. The platform looks for signaloid.yaml first and falls back to
signaloid.yml if it is not present. The file is optional. When present, it
currently declares three things:
- A minimum core configuration recommended for the application.
- The core classes the application runs on.
- The variables to trace automatically on Reference cores.
The settings the file declares are read on every run of the repository. They do not override the per-task UI controls. You can still pick a different execution core, branch, build directory, command-line arguments, or data sources on the connected repository card.
Recommend a minimum Core for your application
If your application needs a specific core to run correctly (for example, a
minimum representation size for accurate results), declare it under
MinimumCore. The connected repository card flags the active core whenever it
falls below the declared minimum, and the
Select Core
dialog marks cores that do not satisfy the minimum.
The following example declares a minimum recommended core:
MinimumCore:
Class: "C0Pro"
Microarchitecture: "Athens"
CorrelationTracking: "Autocorrelation"
Precision: 32
The fields under MinimumCore use the same shape as the core configuration in
the Signaloid Cloud Compute Engine API. The platform accepts the values listed
below. It drops any value outside these ranges and warns on the card.
| Field | Type | Accepted values |
|---|---|---|
Class | option | C0Pro |
Microarchitecture | option | Athens, Bypass, Reference |
CorrelationTracking | option | Autocorrelation, Disable |
Precision | number (bits) | 4 to 100000 |
Each core class has a fixed memory allocation, so the platform ignores a
MemorySize field under MinimumCore.
For the full meaning of each field, see the Compute Engine API reference.
Declare the core classes your application runs on
List every core class your application runs on under Compatibility.Class. A
single value works as a one-item list.
Compatibility:
Class: [C0-microSD, C0-SD]
| Field | Type | Accepted values |
|---|---|---|
Class | list of options | C0Pro, C0-SD, C0-microSD, C0-microSD-plus |
A repository that builds for both cloud and compute module cores lists both, for
example [C0Pro, C0-SD]. A repository without Compatibility counts as cloud
only.
The platform drops invalid entries and warns on the card. If no valid entry remains, the repository counts as cloud only.
When the class of the active core is not in the list, the card and the Select Core dialog show a warning. The build still runs.
MinimumCore.Class names one exact class, and Compatibility.Class lists every
class the application runs on. The platform checks both.
Set traced variables
Applications that run on a Reference core can declare the variables to trace
ahead of time, so a user does not need to pick them in the
Variable Viewer
on every run. Add a TraceVariables list to the YAML, with one record per
variable. Each record carries:
Expression: the variable or custom expression to trace, in the same form you would type into Add Custom Variable Trace.File: the path to the file that declares the variable, relative to the repository root.LineNumber: the line number of the declaration.
TraceVariables:
- Expression: "oneVariable"
File: "src/main.c"
LineNumber: 384
- Expression: "oneStructPointer->oneElement"
File: "src/data-structures.c"
LineNumber: 42
- Expression: "oneArray[0:15]"
File: "src/lib/array-operations.c"
LineNumber: 18
File and LineNumber point at the declaration of the variable, not the
line where its value is assigned.
Related pages
- Repository Runs for the end-to-end Build and Task flow that consumes these settings.
- Execution Core for how the active core interacts with the declared minimum and compatible core classes.
- Add to signaloid.io button
for the Markdown snippet that lets visitors connect a
signaloid.yaml-ready repository in one click.