package
0.0.0-20211210203910-0ca4eb0d92eb
Repository: https://github.com/actions-mlh/go-workflows.git
Documentation: pkg.go.dev

# README

explanation

The essential package is provided in lint.go, which just provides two functions, Lint() and Spew(). Lint() is the important function; it will take a filename and a []byte representing an input file, and return a []string where each line contains an error message. Spew() will print the internal representation of a YAML file for debug purposes.

Each subdirectory contains a small package used in lint.go. workflow/ contains the Go types used to represent the YAML structure, separated into different files for the different possible pieces of a GitHub workflow. Each other directory contains a small package for linting that section of the workflow, supplying a single Lint() function to be called in lint.go.

For future maintainers: as you can see, only root/, name/, jobs/, and on/ have directories right now, and of those only the first three have useful lints. When extending development, consider making a new directory for each of the other top-level GitHub properties, putting a small package in each, and continuing the pattern already established. As for the workflow/ directory, most of the code there is finished, but you can double check that all the data in the YAML file is represented by adding the -d flag or running Spew(). The workflow/on/ directory is most likely to need another look; there are several interface{} values that can be replaced with a more descriptive type system.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

No description provided by the author
No description provided by the author