package nixery import ( "tangled.org/core/spindle/models" "tangled.org/core/workflow" ) type nixeryWorkflow struct { event models.Event // event that triggered the workflow def WorkflowDef // definition of the workflow } // TODO: extract general fields to workflow.WorkflowDef struct // nixery adapter workflow definition spec type WorkflowDef struct { Name string `yaml:"-"` // name of the workflow file When []workflow.Constraint `yaml:"when"` CloneOpts workflow.CloneOpts `yaml:"clone"` Dependencies map[string][]string // nix packages used for the workflow Steps []Step // workflow steps } type Step struct { Name string `yaml:"name"` Command string `yaml:"command"` Enviornment map[string]string `yaml:"environment"` } func (d *WorkflowDef) AsInfo() models.WorkflowDef { return models.WorkflowDef{ AdapterId: AdapterID, Name: d.Name, When: d.When, } } func (d *WorkflowDef) ShouldRunOn(event models.Event) bool { // panic("unimplemented") return false }