Pipeline Parser
Description
Pipeline Parser is Argon's solution for parsing and analyzing pipeline files of popular CI yaml files in order to create a generic pipeline entity that can be used across platforms.
Platform |
GitHub Workflows |
GitLab CI |
Azure Pipelines |
Usage
Package Usage
import "github/argonsecurity/pipeline-parser/pkg/handler"
// Read the pipeline data as bytes array
buf, err := ioutil.ReadFile("/path/to/workflow.yml")
if err != nil {
return nil
}
// Parse the pipeline from the specific platform to the common pipeline object
pipeline, err := handler.Handle(buf, consts.GitHubPlatform)
CLI Usage
Parse GitHub Workflow yaml
pipeline-parser -p github workflow.yml
Parse GitLab CI yaml
pipeline-parser -p gitlab .gitlab-ci.yml
Parse Azure Pipelines yaml
pipeline-parser -p azure .azure-pipelines.yml
Parse multiple files in one execution
pipeline-parser -p github workflow-1.yml workflow-2.yml workflow-3.yml
Local Development
First, execute the following command to enable the client's git hooks:
git config core.hooksPath .githooks