Versions in this module Expand all Collapse all v1 v1.11.0 Aug 20, 2026 v1.10.0 Aug 19, 2026 Changes in this version + const ExitStatusFailure + const ExitStatusInvalidCommandOption + const ExitStatusSuccessNoProblem + const ExitStatusSuccessProblemFound + const LogLevelDebug + const LogLevelNone + const LogLevelVerbose + const RawYAMLValueKindArray + const RawYAMLValueKindObject + const RawYAMLValueKindString + var AllContexts = map[string][]string + var AllWebhookTypes = map[string][]string + var BrandingColors = map[string]struct + var BrandingIcons = map[string]struct + var BuiltinFuncSignatures = map[string][]*FuncSignature + var BuiltinGlobalVariableTypes = map[string]ExprType + var BuiltinUntrustedInputs = UntrustedInputSearchRoots + var OutdatedPopularActionSpecs = map[string]struct + var PopularActions = map[string]*ActionMetadata + var SpecialFunctionNames = map[string][]string + func ContainsExpression(s string) bool + func EqualTypes(l, r ExprType) bool + func LexExpression(src string) ([]*Token, int, *ExprError) + func Parse(b []byte) (*Workflow, []*Error) + func VisitExprNode(n ExprNode, f VisitExprNodeFunc) + func WorkflowKeyAvailability(key string) ([]string, []string) + type ActionMetadata struct + Branding ActionMetadataBranding + Description string + Inputs ActionMetadataInputs + Name string + Outputs ActionMetadataOutputs + Runs ActionMetadataRuns + SkipInputs bool + SkipOutputs bool + func (md *ActionMetadata) Dir() string + func (md *ActionMetadata) Path() string + type ActionMetadataBranding struct + Color string + Icon string + type ActionMetadataInput struct + Deprecated bool + DeprecationMessage string + Name string + Required bool + type ActionMetadataInputs map[string]*ActionMetadataInput + func (inputs *ActionMetadataInputs) UnmarshalYAML(n *yaml.Node) error + type ActionMetadataOutput struct + Name string + type ActionMetadataOutputs map[string]*ActionMetadataOutput + func (inputs *ActionMetadataOutputs) UnmarshalYAML(n *yaml.Node) error + type ActionMetadataRuns struct + Args []any + Entrypoint string + Env map[string]any + Image string + Main string + Post string + PostEntrypoint string + PostIf string + Pre string + PreEntrypoint string + PreIf string + Steps []any + Using string + type AnyType struct + func (ty AnyType) Assignable(_ ExprType) bool + func (ty AnyType) DeepCopy() ExprType + func (ty AnyType) Merge(other ExprType) ExprType + func (ty AnyType) String() string + type ArrayDerefNode struct + Receiver ExprNode + func (n ArrayDerefNode) Token() *Token + type ArrayType struct + Deref bool + Elem ExprType + func (ty *ArrayType) Assignable(other ExprType) bool + func (ty *ArrayType) DeepCopy() ExprType + func (ty *ArrayType) Merge(other ExprType) ExprType + func (ty *ArrayType) String() string + type Bool struct + Expression *String + Pos *Pos + Value bool + func (b *Bool) String() string + type BoolNode struct + Value bool + func (n *BoolNode) Token() *Token + type BoolType struct + func (ty BoolType) Assignable(other ExprType) bool + func (ty BoolType) DeepCopy() ExprType + func (ty BoolType) Merge(other ExprType) ExprType + func (ty BoolType) String() string + type ColorOptionKind int + const ColorOptionKindAlways + const ColorOptionKindAuto + const ColorOptionKindNever + type Command struct + Stderr io.Writer + Stdin io.Reader + Stdout io.Writer + func (cmd *Command) Main(args []string) int + type CompareOpNode struct + Kind CompareOpNodeKind + Left ExprNode + Right ExprNode + func (n *CompareOpNode) Token() *Token + type CompareOpNodeKind int + const CompareOpNodeKindEq + const CompareOpNodeKindGreater + const CompareOpNodeKindGreaterEq + const CompareOpNodeKindInvalid + const CompareOpNodeKindLess + const CompareOpNodeKindLessEq + const CompareOpNodeKindNotEq + func (kind CompareOpNodeKind) IsEqualityOp() bool + func (kind CompareOpNodeKind) String() string + type Concurrency struct + CancelInProgress *Bool + Group *String + Pos *Pos + Queue *String + type Config struct + ConfigVariables []string + Paths map[string]PathConfig + SelfHostedRunner struct{ ... } + func ParseConfig(b []byte) (*Config, error) + func ReadConfigFile(path string) (*Config, error) + func (cfg *Config) PathConfigs(path string) []PathConfig + type Container struct + Command *String + Credentials *Credentials + Entrypoint *String + Env *Env + Image *String + Options *String + Ports []*String + Pos *Pos + Volumes []*String + type Credentials struct + Expression *String + Password *String + Pos *Pos + Username *String + type Defaults struct + Pos *Pos + Run *DefaultsRun + type DefaultsRun struct + Pos *Pos + Shell *String + WorkingDirectory *String + type DispatchInput struct + Default *String + Description *String + Name *String + Options []*String + Required *Bool + Type WorkflowDispatchEventInputType + type Env struct + Expression *String + Vars map[string]*EnvVar + type EnvVar struct + Name *String + Value *String + type Environment struct + Deployment *Bool + Name *String + Pos *Pos + URL *String + type Error struct + Column int + Filepath string + Kind string + Line int + Message string + func (e *Error) Error() string + func (e *Error) GetTemplateFields(source []byte) *ErrorTemplateFields + func (e *Error) PrettyPrint(w io.Writer, source []byte) + func (e *Error) String() string + type ErrorFormatter struct + func NewErrorFormatter(format string) (*ErrorFormatter, error) + func (f *ErrorFormatter) Print(out io.Writer, t []*ErrorTemplateFields) error + func (f *ErrorFormatter) PrintErrors(out io.Writer, errs []*Error, src []byte) error + func (f *ErrorFormatter) RegisterRule(r Rule) + type ErrorTemplateFields struct + Column int + EndColumn int + Filepath string + Kind string + Line int + Message string + Snippet string + type Event interface + EventName func() string + type Exec interface + Kind func() ExecKind + type ExecAction struct + Args *String + Entrypoint *String + Inputs map[string]*Input + Uses *String + func (e *ExecAction) Kind() ExecKind + type ExecCancel struct + Name *String + func (e *ExecCancel) Kind() ExecKind + type ExecKind uint8 + const ExecKindAction + const ExecKindCancel + const ExecKindParallel + const ExecKindRun + const ExecKindWait + type ExecParallel struct + Steps []*Step + func (e *ExecParallel) Kind() ExecKind + type ExecRun struct + Run *String + RunPos *Pos + Shell *String + WorkingDirectory *String + func (e *ExecRun) Kind() ExecKind + type ExecWait struct + All bool + AllPos *Pos + Names []*String + func (e *ExecWait) Kind() ExecKind + type ExprError struct + Column int + Line int + Message string + Offset int + func (e *ExprError) Error() string + func (e *ExprError) String() string + type ExprLexer struct + func NewExprLexer(src string) *ExprLexer + func (lex *ExprLexer) Err() *ExprError + func (lex *ExprLexer) Next() *Token + func (lex *ExprLexer) Offset() int + type ExprNode interface + Token func() *Token + type ExprParser struct + func NewExprParser() *ExprParser + func (p *ExprParser) Err() *ExprError + func (p *ExprParser) Parse(l *ExprLexer) (ExprNode, *ExprError) + type ExprSemanticsChecker struct + func NewExprSemanticsChecker(checkUntrustedInput bool, configVars []string) *ExprSemanticsChecker + func (sema *ExprSemanticsChecker) Check(expr ExprNode) (ExprType, []*ExprError) + func (sema *ExprSemanticsChecker) IsConstant(expr ExprNode) bool + func (sema *ExprSemanticsChecker) SetContextAvailability(avail []string) + func (sema *ExprSemanticsChecker) SetSpecialFunctionAvailability(avail []string) + func (sema *ExprSemanticsChecker) UpdateDispatchInputs(ty *ObjectType) + func (sema *ExprSemanticsChecker) UpdateInputs(ty *ObjectType) + func (sema *ExprSemanticsChecker) UpdateJobs(ty *ObjectType) + func (sema *ExprSemanticsChecker) UpdateMatrix(ty *ObjectType) + func (sema *ExprSemanticsChecker) UpdateNeeds(ty *ObjectType) + func (sema *ExprSemanticsChecker) UpdateSecrets(ty *ObjectType) + func (sema *ExprSemanticsChecker) UpdateSteps(ty *ObjectType) + type ExprType interface + Assignable func(other ExprType) bool + DeepCopy func() ExprType + Merge func(other ExprType) ExprType + String func() string + type Float struct + Expression *String + Pos *Pos + Value float64 + type FloatNode struct + Value float64 + func (n *FloatNode) Token() *Token + type FuncCallNode struct + Args []ExprNode + Callee string + func (n *FuncCallNode) Token() *Token + type FuncSignature struct + IsConstFunc bool + Name string + Params []ExprType + Ret ExprType + VariableLengthParams bool + func (sig *FuncSignature) String() string + type IgnorePatterns []*regexp.Regexp + func (pats *IgnorePatterns) UnmarshalYAML(n *yaml.Node) error + func (pats IgnorePatterns) Match(err *Error) bool + type ImageVersionEvent struct + Names []*String + Pos *Pos + Versions []*String + func (e *ImageVersionEvent) EventName() string + type IndexAccessNode struct + Index ExprNode + Operand ExprNode + func (n *IndexAccessNode) Token() *Token + type Input struct + Name *String + Value *String + type Int struct + Expression *String + Pos *Pos + Value int + type IntNode struct + Value int + func (n *IntNode) Token() *Token + type InvalidGlobPattern struct + Column int + Message string + func ValidatePathGlob(pat string) []InvalidGlobPattern + func ValidateRefGlob(pat string) []InvalidGlobPattern + func (err *InvalidGlobPattern) Error() string + func (err *InvalidGlobPattern) String() string + type Job struct + Concurrency *Concurrency + Container *Container + ContinueOnError *Bool + Defaults *Defaults + Env *Env + Environment *Environment + ID *String + If *String + Name *String + Needs []*String + Outputs map[string]*Output + Permissions *Permissions + Pos *Pos + RunsOn *Runner + Services *Services + Snapshot *Snapshot + Steps []*Step + Strategy *Strategy + TimeoutMinutes *Float + WorkflowCall *WorkflowCall + type Linter struct + func NewLinter(out io.Writer, opts *LinterOptions) (*Linter, error) + func (l *Linter) GenerateDefaultConfig(dir string) error + func (l *Linter) Lint(path string, content []byte, project *Project) ([]*Error, error) + func (l *Linter) LintDir(dir string, project *Project) ([]*Error, error) + func (l *Linter) LintFile(path string, project *Project) ([]*Error, error) + func (l *Linter) LintFiles(filepaths []string, project *Project) ([]*Error, error) + func (l *Linter) LintRepository(dir string) ([]*Error, error) + func (l *Linter) LintStdin(stdin io.Reader) ([]*Error, error) + type LinterOptions struct + Color ColorOptionKind + ConfigFile string + Debug bool + Format string + IgnorePatterns []string + LogWriter io.Writer + OnRulesCreated func([]Rule) []Rule + Oneline bool + Pyflakes string + Shellcheck string + StdinFileName string + Verbose bool + WorkingDir string + type LocalActionsCache struct + func NewLocalActionsCache(proj *Project, dbg io.Writer) *LocalActionsCache + func (c *LocalActionsCache) FindMetadata(spec string) (*ActionMetadata, bool, error) + type LocalActionsCacheFactory struct + func NewLocalActionsCacheFactory(dbg io.Writer) *LocalActionsCacheFactory + func (f *LocalActionsCacheFactory) GetCache(p *Project) *LocalActionsCache + type LocalReusableWorkflowCache struct + func NewLocalReusableWorkflowCache(proj *Project, cwd string, dbg io.Writer) *LocalReusableWorkflowCache + func (c *LocalReusableWorkflowCache) FindMetadata(spec string) (*ReusableWorkflowMetadata, error) + func (c *LocalReusableWorkflowCache) WriteWorkflowCallEvent(wpath string, event *WorkflowCallEvent) + type LocalReusableWorkflowCacheFactory struct + func NewLocalReusableWorkflowCacheFactory(cwd string, dbg io.Writer) *LocalReusableWorkflowCacheFactory + func (f *LocalReusableWorkflowCacheFactory) GetCache(p *Project) *LocalReusableWorkflowCache + type LogLevel int + type LogicalOpNode struct + Kind LogicalOpNodeKind + Left ExprNode + Right ExprNode + func (n *LogicalOpNode) Token() *Token + type LogicalOpNodeKind int + const LogicalOpNodeKindAnd + const LogicalOpNodeKindInvalid + const LogicalOpNodeKindOr + func (k LogicalOpNodeKind) String() string + type Matrix struct + Exclude *MatrixCombinations + Expression *String + Include *MatrixCombinations + Pos *Pos + Rows map[string]*MatrixRow + type MatrixAssign struct + Key *String + Value RawYAMLValue + type MatrixCombination struct + Assigns map[string]*MatrixAssign + Expression *String + type MatrixCombinations struct + Combinations []*MatrixCombination + Expression *String + func (cs *MatrixCombinations) ContainsExpression() bool + type MatrixRow struct + Expression *String + Name *String + Values []RawYAMLValue + type NotOpNode struct + Operand ExprNode + func (n *NotOpNode) Token() *Token + type NullNode struct + func (n *NullNode) Token() *Token + type NullType struct + func (ty NullType) Assignable(other ExprType) bool + func (ty NullType) DeepCopy() ExprType + func (ty NullType) Merge(other ExprType) ExprType + func (ty NullType) String() string + type NumberType struct + func (ty NumberType) Assignable(other ExprType) bool + func (ty NumberType) DeepCopy() ExprType + func (ty NumberType) Merge(other ExprType) ExprType + func (ty NumberType) String() string + type ObjectDerefNode struct + Property string + Receiver ExprNode + func (n ObjectDerefNode) Token() *Token + type ObjectType struct + Mapped ExprType + Props map[string]ExprType + func NewEmptyObjectType() *ObjectType + func NewEmptyStrictObjectType() *ObjectType + func NewMapObjectType(t ExprType) *ObjectType + func NewObjectType(props map[string]ExprType) *ObjectType + func NewStrictObjectType(props map[string]ExprType) *ObjectType + func (ty *ObjectType) Assignable(other ExprType) bool + func (ty *ObjectType) DeepCopy() ExprType + func (ty *ObjectType) IsLoose() bool + func (ty *ObjectType) IsStrict() bool + func (ty *ObjectType) Loose() + func (ty *ObjectType) Merge(other ExprType) ExprType + func (ty *ObjectType) Strict() + func (ty *ObjectType) String() string + type Output struct + Name *String + Value *String + type Pass interface + VisitJobPost func(node *Job) error + VisitJobPre func(node *Job) error + VisitStep func(node *Step) error + VisitWorkflowPost func(node *Workflow) error + VisitWorkflowPre func(node *Workflow) error + type PathConfig struct + Ignore IgnorePatterns + type PermissionScope struct + Name *String + Value *String + type Permissions struct + All *String + Pos *Pos + Scopes map[string]*PermissionScope + type Pos struct + Col int + Line int + func (p *Pos) IsBefore(other *Pos) bool + func (p *Pos) String() string + type Project struct + func NewProject(root string) (*Project, error) + func (p *Project) Config() *Config + func (p *Project) Knows(path string) bool + func (p *Project) RootDir() string + func (p *Project) WorkflowsDir() string + type Projects struct + func NewProjects() *Projects + func (ps *Projects) At(path string) (*Project, error) + type RawYAMLArray struct + Elems []RawYAMLValue + func (a *RawYAMLArray) Equals(other RawYAMLValue) bool + func (a *RawYAMLArray) Kind() RawYAMLValueKind + func (a *RawYAMLArray) Pos() *Pos + func (a *RawYAMLArray) String() string + type RawYAMLObject struct + Props map[string]RawYAMLValue + func (o *RawYAMLObject) Equals(other RawYAMLValue) bool + func (o *RawYAMLObject) Kind() RawYAMLValueKind + func (o *RawYAMLObject) Pos() *Pos + func (o *RawYAMLObject) String() string + type RawYAMLString struct + Value string + func (s *RawYAMLString) Equals(other RawYAMLValue) bool + func (s *RawYAMLString) Kind() RawYAMLValueKind + func (s *RawYAMLString) Pos() *Pos + func (s *RawYAMLString) String() string + type RawYAMLValue interface + Equals func(other RawYAMLValue) bool + Kind func() RawYAMLValueKind + Pos func() *Pos + String func() string + type RawYAMLValueKind int + type RepositoryDispatchEvent struct + Pos *Pos + Types []*String + func (e *RepositoryDispatchEvent) EventName() string + type ReusableWorkflowMetadata struct + Inputs ReusableWorkflowMetadataInputs + Outputs ReusableWorkflowMetadataOutputs + Secrets ReusableWorkflowMetadataSecrets + type ReusableWorkflowMetadataInput struct + Name string + Required bool + Type ExprType + func (input *ReusableWorkflowMetadataInput) UnmarshalYAML(n *yaml.Node) error + type ReusableWorkflowMetadataInputs map[string]*ReusableWorkflowMetadataInput + func (inputs *ReusableWorkflowMetadataInputs) UnmarshalYAML(n *yaml.Node) error + type ReusableWorkflowMetadataOutput struct + Name string + type ReusableWorkflowMetadataOutputs map[string]*ReusableWorkflowMetadataOutput + func (outputs *ReusableWorkflowMetadataOutputs) UnmarshalYAML(n *yaml.Node) error + type ReusableWorkflowMetadataSecret struct + Name string + Required bool + type ReusableWorkflowMetadataSecrets map[string]*ReusableWorkflowMetadataSecret + func (secrets *ReusableWorkflowMetadataSecrets) UnmarshalYAML(n *yaml.Node) error + type Rule interface + Config func() *Config + Description func() string + EnableDebug func(out io.Writer) + Errs func() []*Error + Name func() string + SetConfig func(cfg *Config) + type RuleAction struct + func NewRuleAction(cache *LocalActionsCache) *RuleAction + func (rule *RuleAction) VisitStep(n *Step) error + type RuleBase struct + func NewRuleBase(name string, desc string) RuleBase + func (r *RuleBase) Config() *Config + func (r *RuleBase) Debug(format string, args ...interface{}) + func (r *RuleBase) Description() string + func (r *RuleBase) EnableDebug(out io.Writer) + func (r *RuleBase) Error(pos *Pos, msg string) + func (r *RuleBase) Errorf(pos *Pos, format string, args ...interface{}) + func (r *RuleBase) Errs() []*Error + func (r *RuleBase) Name() string + func (r *RuleBase) SetConfig(cfg *Config) + func (r *RuleBase) VisitJobPost(node *Job) error + func (r *RuleBase) VisitJobPre(node *Job) error + func (r *RuleBase) VisitStep(node *Step) error + func (r *RuleBase) VisitWorkflowPost(node *Workflow) error + func (r *RuleBase) VisitWorkflowPre(node *Workflow) error + type RuleCredentials struct + func NewRuleCredentials() *RuleCredentials + func (rule *RuleCredentials) VisitJobPre(n *Job) error + type RuleDeprecatedCommands struct + func NewRuleDeprecatedCommands() *RuleDeprecatedCommands + func (rule *RuleDeprecatedCommands) VisitStep(n *Step) error + type RuleEnvVar struct + func NewRuleEnvVar() *RuleEnvVar + func (rule *RuleEnvVar) VisitJobPre(n *Job) error + func (rule *RuleEnvVar) VisitStep(n *Step) error + func (rule *RuleEnvVar) VisitWorkflowPre(n *Workflow) error + type RuleEvents struct + func NewRuleEvents() *RuleEvents + func (rule *RuleEvents) VisitWorkflowPre(n *Workflow) error + type RuleExpression struct + func NewRuleExpression(actionsCache *LocalActionsCache, workflowCache *LocalReusableWorkflowCache) *RuleExpression + func (rule *RuleExpression) VisitJobPost(n *Job) error + func (rule *RuleExpression) VisitJobPre(n *Job) error + func (rule *RuleExpression) VisitStep(n *Step) error + func (rule *RuleExpression) VisitWorkflowPost(n *Workflow) error + func (rule *RuleExpression) VisitWorkflowPre(n *Workflow) error + type RuleGlob struct + func NewRuleGlob() *RuleGlob + func (rule *RuleGlob) VisitJobPre(n *Job) error + func (rule *RuleGlob) VisitWorkflowPre(n *Workflow) error + type RuleID struct + func NewRuleID() *RuleID + func (rule *RuleID) VisitJobPost(n *Job) error + func (rule *RuleID) VisitJobPre(n *Job) error + func (rule *RuleID) VisitStep(n *Step) error + type RuleIfCond struct + func NewRuleIfCond() *RuleIfCond + func (rule *RuleIfCond) VisitJobPre(n *Job) error + func (rule *RuleIfCond) VisitStep(n *Step) error + type RuleJobNeeds struct + func NewRuleJobNeeds() *RuleJobNeeds + func (rule *RuleJobNeeds) VisitJobPre(n *Job) error + func (rule *RuleJobNeeds) VisitWorkflowPost(n *Workflow) error + type RuleMatrix struct + func NewRuleMatrix() *RuleMatrix + func (rule *RuleMatrix) VisitJobPre(n *Job) error + type RuleParallelSteps struct + func NewRuleParallelSteps() *RuleParallelSteps + func (rule *RuleParallelSteps) VisitJobPost(n *Job) error + func (rule *RuleParallelSteps) VisitJobPre(n *Job) error + func (rule *RuleParallelSteps) VisitStep(n *Step) error + type RulePermissions struct + func NewRulePermissions() *RulePermissions + func (rule *RulePermissions) VisitJobPre(n *Job) error + func (rule *RulePermissions) VisitWorkflowPre(n *Workflow) error + type RulePyflakes struct + func NewRulePyflakes(executable string, proc *concurrentProcess) (*RulePyflakes, error) + func (rule *RulePyflakes) VisitJobPost(n *Job) error + func (rule *RulePyflakes) VisitJobPre(n *Job) error + func (rule *RulePyflakes) VisitStep(n *Step) error + func (rule *RulePyflakes) VisitWorkflowPost(n *Workflow) error + func (rule *RulePyflakes) VisitWorkflowPre(n *Workflow) error + type RuleRunnerLabel struct + func NewRuleRunnerLabel() *RuleRunnerLabel + func (rule *RuleRunnerLabel) VisitJobPre(n *Job) error + type RuleShellName struct + func NewRuleShellName() *RuleShellName + func (rule *RuleShellName) VisitJobPost(n *Job) error + func (rule *RuleShellName) VisitJobPre(n *Job) error + func (rule *RuleShellName) VisitStep(n *Step) error + func (rule *RuleShellName) VisitWorkflowPre(n *Workflow) error + type RuleShellcheck struct + func NewRuleShellcheck(executable string, proc *concurrentProcess) (*RuleShellcheck, error) + func (rule *RuleShellcheck) VisitJobPost(n *Job) error + func (rule *RuleShellcheck) VisitJobPre(n *Job) error + func (rule *RuleShellcheck) VisitStep(n *Step) error + func (rule *RuleShellcheck) VisitWorkflowPost(n *Workflow) error + func (rule *RuleShellcheck) VisitWorkflowPre(n *Workflow) error + type RuleWorkflowCall struct + func NewRuleWorkflowCall(workflowPath string, cache *LocalReusableWorkflowCache) *RuleWorkflowCall + func (rule *RuleWorkflowCall) VisitJobPre(n *Job) error + func (rule *RuleWorkflowCall) VisitWorkflowPre(n *Workflow) error + type Runner struct + Group *String + Labels []*String + LabelsExpr *String + type ScheduleEntry struct + Cron *String + Timezone *String + type ScheduledEvent struct + Pos *Pos + Schedules []*ScheduleEntry + func (e *ScheduledEvent) EventName() string + type Service struct + Container *Container + Name *String + type Services struct + Expression *String + Pos *Pos + Value map[string]*Service + type Snapshot struct + If *String + ImageName *String + Version *String + type Step struct + Background *Bool + ContinueOnError *Bool + Env *Env + Exec Exec + ID *String + If *String + Name *String + Pos *Pos + TimeoutMinutes *Float + type Strategy struct + FailFast *Bool + Matrix *Matrix + MaxParallel *Int + Pos *Pos + type String struct + Pos *Pos + Quoted bool + Value string + func (s *String) ContainsExpression() bool + func (s *String) IsExpressionAssigned() bool + type StringNode struct + Value string + func (n *StringNode) Token() *Token + type StringType struct + func (ty StringType) Assignable(other ExprType) bool + func (ty StringType) DeepCopy() ExprType + func (ty StringType) Merge(other ExprType) ExprType + func (ty StringType) String() string + type Token struct + Column int + Kind TokenKind + Line int + Offset int + Value string + func (t *Token) String() string + type TokenKind int + const TokenKindAnd + const TokenKindComma + const TokenKindDot + const TokenKindEnd + const TokenKindEq + const TokenKindFloat + const TokenKindGreater + const TokenKindGreaterEq + const TokenKindIdent + const TokenKindInt + const TokenKindLeftBracket + const TokenKindLeftParen + const TokenKindLess + const TokenKindLessEq + const TokenKindNot + const TokenKindNotEq + const TokenKindOr + const TokenKindRightBracket + const TokenKindRightParen + const TokenKindStar + const TokenKindString + const TokenKindUnknown + func (t TokenKind) String() string + type UntrustedInputChecker struct + func NewUntrustedInputChecker(roots UntrustedInputSearchRoots) *UntrustedInputChecker + func (u *UntrustedInputChecker) Errs() []*ExprError + func (u *UntrustedInputChecker) Init() + func (u *UntrustedInputChecker) OnVisitEnd() + func (u *UntrustedInputChecker) OnVisitNodeEnter(n ExprNode) + func (u *UntrustedInputChecker) OnVisitNodeLeave(n ExprNode) + type UntrustedInputMap struct + Children map[string]*UntrustedInputMap + Name string + Parent *UntrustedInputMap + func NewUntrustedInputMap(name string, children ...*UntrustedInputMap) *UntrustedInputMap + func (m *UntrustedInputMap) String() string + type UntrustedInputSearchRoots map[string]*UntrustedInputMap + func (ms UntrustedInputSearchRoots) AddRoot(m *UntrustedInputMap) + type VariableNode struct + Name string + func (n *VariableNode) Token() *Token + type VisitExprNodeFunc func(node, parent ExprNode, entering bool) + type Visitor struct + func NewVisitor() *Visitor + func (v *Visitor) AddPass(p Pass) + func (v *Visitor) EnableDebug(w io.Writer) + func (v *Visitor) Visit(n *Workflow) error + type WebhookEvent struct + Branches *WebhookEventFilter + BranchesIgnore *WebhookEventFilter + Hook *String + Paths *WebhookEventFilter + PathsIgnore *WebhookEventFilter + Pos *Pos + Tags *WebhookEventFilter + TagsIgnore *WebhookEventFilter + Types []*String + Workflows []*String + func (e *WebhookEvent) EventName() string + type WebhookEventFilter struct + Name *String + Values []*String + func (f *WebhookEventFilter) IsEmpty() bool + type Workflow struct + Concurrency *Concurrency + Defaults *Defaults + Env *Env + Jobs map[string]*Job + Name *String + On []Event + Permissions *Permissions + RunName *String + func (w *Workflow) FindWorkflowCallEvent() (*WorkflowCallEvent, bool) + type WorkflowCall struct + InheritSecrets bool + Inputs map[string]*WorkflowCallInput + Secrets map[string]*WorkflowCallSecret + Uses *String + type WorkflowCallEvent struct + Inputs []*WorkflowCallEventInput + Outputs map[string]*WorkflowCallEventOutput + Pos *Pos + Secrets map[string]*WorkflowCallEventSecret + func (e *WorkflowCallEvent) EventName() string + type WorkflowCallEventInput struct + Default *String + Description *String + ID string + Name *String + Required *Bool + Type WorkflowCallEventInputType + func (i *WorkflowCallEventInput) IsRequired() bool + type WorkflowCallEventInputType uint8 + const WorkflowCallEventInputTypeBoolean + const WorkflowCallEventInputTypeInvalid + const WorkflowCallEventInputTypeNumber + const WorkflowCallEventInputTypeString + type WorkflowCallEventOutput struct + Description *String + Name *String + Value *String + type WorkflowCallEventSecret struct + Description *String + Name *String + Required *Bool + type WorkflowCallInput struct + Name *String + Value *String + type WorkflowCallSecret struct + Name *String + Value *String + type WorkflowDispatchEvent struct + Inputs map[string]*DispatchInput + Pos *Pos + func (e *WorkflowDispatchEvent) EventName() string + type WorkflowDispatchEventInputType uint8 + const WorkflowDispatchEventInputTypeBoolean + const WorkflowDispatchEventInputTypeChoice + const WorkflowDispatchEventInputTypeEnvironment + const WorkflowDispatchEventInputTypeNone + const WorkflowDispatchEventInputTypeNumber + const WorkflowDispatchEventInputTypeString