Documentation
¶
Overview ¶
Package workflowfile owns the parsed workflow YAML representation: loading, extraction of action refs, local composite discovery, and comment-preserving rewriting. It intentionally has no dependency on the lockfile or resolver packages.
Index ¶
- Constants
- func DiscoverWorkflows() ([]string, error)
- func DiscoverWorkflowsIn(dir string) ([]string, error)
- func EnsureSentinel(content []byte) []byte
- func ExtractLocalCompositeRefs(workflowPath string, localPaths []string) ([]parserlock.ActionRef, []string)
- func KeyFromPath(workflowPath string) string
- type File
Constants ¶
const SentinelComment = "# This workflow is managed by gh actions-lock."
SentinelComment is prepended to workflow files managed by gh actions-lock so users can tell at a glance that the file's action refs are locked.
Variables ¶
This section is empty.
Functions ¶
func DiscoverWorkflows ¶
DiscoverWorkflows finds all workflow files in .github/workflows/ relative to the current directory. Returns nil if the directory doesn't exist.
func DiscoverWorkflowsIn ¶
DiscoverWorkflowsIn finds all workflow files (*.yml, *.yaml) in dir. Returns nil if the directory doesn't exist.
func EnsureSentinel ¶ added in v0.1.0
EnsureSentinel prepends the sentinel comment to the workflow content if it is not already present at the top of the file. The comment is placed before any existing content with a blank line separating it from the YAML body.
func ExtractLocalCompositeRefs ¶
func ExtractLocalCompositeRefs(workflowPath string, localPaths []string) ([]parserlock.ActionRef, []string)
ExtractLocalCompositeRefs reads action.yml files from local paths relative to the workflow file's directory and returns any repository action refs found in their steps.
func KeyFromPath ¶
KeyFromPath converts a workflow path discovered on disk (relative to the repo root or cwd) into the repo-relative key used inside the lockfile.
Types ¶
type File ¶
File is the parsed workflow YAML the CLI rewrites in-place. It carries the original byte content alongside the parsed node tree so RewriteActionRefs can do anchored, comment-preserving substitution.
func (*File) ExtractActionRefs ¶
func (f *File) ExtractActionRefs() ([]parserlock.ActionRef, []string, []string)
ExtractActionRefs finds all uses: references to repository actions in the workflow.