runFormula method
Runs a single formula action, returning its result.
Implementation
Future<FormulaResult> runFormula(FormulaRun request) async {
final formula = registry.byId(request.formula);
if (formula == null) {
return FormulaResult(
formula: request.formula,
action: request.action,
success: false,
message: 'unknown formula "${request.formula}"',
finishedAt: clock.now(),
);
}
final log = _runLog(request.formula, request.action);
final result = await formula.run(
request.action,
_context(
targetVersion: request.version,
parameters: request.parameters,
log: log.add,
),
);
return result.withLogs(log.lines);
}