Logo
Explore Help
Sign In
studio/wfe
2
0
Fork 0
You've already forked wfe
Code Issues Pull Requests Actions Packages Releases 3 Activity
Files
b1a1098fbc0c263bd1c60ad869bffe0213fac9f8
wfe/wfe-yaml/src/error.rs

14 lines
425 B
Rust
Raw Normal View History

feat(wfe-yaml): add YAML workflow definitions with shell executor Concourse-CI-inspired YAML format for defining workflows. Compiles to standard WorkflowDefinition + step factories. Features: - Schema parsing with serde_yaml (YamlWorkflow, YamlStep, StepConfig) - ((var.path)) interpolation from config maps at load time - YAML anchors (&anchor/*alias) fully supported - Validation at load time (no runtime surprises) - Shell executor: runs commands via tokio::process, captures stdout, parses ##wfe[output name=value] annotations for structured outputs - Compiler: sequential wiring, parallel blocks, on_failure/on_success/ ensure hooks, error behavior mapping - Public API: load_workflow(), load_workflow_from_str() - 23 tests (schema, interpolation, compiler, e2e)
2026-03-25 21:32:00 +00:00
#[derive(Debug, thiserror::Error)]
pub enum YamlWorkflowError {
#[error("YAML parse error: {0}")]
Parse(#[from] serde_yaml::Error),
#[error("Interpolation error: unresolved variable '{0}'")]
UnresolvedVariable(String),
#[error("Validation error: {0}")]
Validation(String),
#[error("Compilation error: {0}")]
Compilation(String),
#[error("IO error: {0}")]
Io(#[from] std::io::Error),
}
Reference in New Issue Copy Permalink
Powered by Gitea Version: 1.25.4 Page: 34ms Template: 3ms
English
Bahasa Indonesia Deutsch English Español Français Gaeilge Italiano Latviešu Magyar nyelv Nederlands Polski Português de Portugal Português do Brasil Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی മലയാളം 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API