package actions import ( "context" ) // Workflows provides capabilities to work with the workflow file type Workflows interface { EventGrapher EventLister ActionRunner EventRunner Close() } // EventGrapher to list the actions type EventGrapher interface { GraphEvent(eventName string) ([][]string, error) } // EventLister to list the events type EventLister interface { ListEvents() []string } // ActionRunner to run an action type ActionRunner interface { RunAction(ctx context.Context, dryrun bool, action string) error } // EventRunner to run an event type EventRunner interface { RunEvent(ctx context.Context, dryrun bool, event string) error } type workflowDef struct { On string Resolves []string } type actionDef struct { Needs []string Uses string Runs []string Args []string Env map[string]string Secrets []string } type workflowsFile struct { TempDir string WorkingDir string WorkflowPath string Workflow map[string]workflowDef Action map[string]actionDef }