schema

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Branding

type Branding struct {
	Color *string `json:"color"`
	Icon  *string `json:"icon"`
}

type CompositeRun

type CompositeRun struct {
	Using string    `yaml:"using"`
	Steps []RunStep `yaml:"steps"`
}

type Config

type Config struct {
	Path        string     `yaml:"-"`
	Name        string     `yaml:"name"`
	Author      *string    `yaml:"author,omitempty"`
	Description string     `yaml:"description"`
	Inputs      *InputMap  `yaml:"inputs,omitempty"`
	Outputs     *OutputMap `yaml:"output,omitempty"`
	Runs        Runs       `yaml:"runs"`
	Branding    *Branding  `yaml:"branding,omitempty"`
}

func GetConfig

func GetConfig(root, filename string) (*Config, error)

type CustomConfig

type CustomConfig struct {
	Path        string       `yaml:"-"`
	Name        string       `yaml:"name"`
	Author      *string      `yaml:"author,omitempty"`
	Description string       `yaml:"description"`
	Inputs      *InputMap    `yaml:"inputs,omitempty"`
	Outputs     *OutputMap   `yaml:"output,omitempty"`
	Runs        Runs         `yaml:"runs"`
	Branding    *Branding    `yaml:"branding,omitempty"`
	Extend      *[]Extension `yaml:"extend,omitempty"`
}

type DockerRun

type DockerRun struct {
	PreEntrypoint  *string   `yaml:"pre-entrypoint,omitempty"`
	Image          string    `yaml:"image"`
	Env            *EnvMap   `yaml:"env,omitempty"`
	Entrypoint     *string   `yaml:"entrypoint,omitempty"`
	PostEntrypoint *string   `yaml:"post-entrypoint,omitempty"`
	Args           *[]string `yaml:"args,omitempty"`
}

type EnvMap

type EnvMap = map[string]string

type Extension

type Extension struct {
	From    string              `yaml:"from"`
	Include *[]ExtensionInclude `yaml:"include"`
}

type ExtensionInclude

type ExtensionInclude struct {
	Field   string    `yaml:"field"`
	Include *[]string `yaml:"include"`
	Exclude *[]string `yaml:"exclude"`
}

type Input

type Input struct {
	Description        string  `yaml:"description"`
	Required           *bool   `yaml:"required,omitempty"`
	Default            *string `yaml:"default,omitempty"`
	DeprecationMessage *string `yaml:"deprecationMessage,omitempty"`
}

type InputMap

type InputMap = map[string]Input

type JavascriptRun

type JavascriptRun struct {
	Using  string  `yaml:"using"`
	Main   string  `yaml:"main"`
	Pre    *string `yaml:"pre,omitempty"`
	PreIf  *string `yaml:"pre-if,omitempty"`
	Post   *string `yaml:"post,omitempty"`
	PostIf *string `yaml:"post-if,omitempty"`
}

type Output

type Output struct {
	Description string `yaml:"description"`
	Value       string `yaml:"value"`
}

type OutputMap

type OutputMap = map[string]Output

type RunStep

type RunStep struct {
	Run              *string  `yaml:"run,omitempty"`
	Shell            *string  `yaml:"shell,omitempty"`
	If               *string  `yaml:"if,omitempty"`
	Name             *string  `yaml:"name,omitempty"`
	ID               *string  `yaml:"id,omitempty"`
	Env              *EnvMap  `yaml:"env,omitempty"`
	WorkingDirectory *string  `yaml:"working-directory,omitempty"`
	Uses             *string  `yaml:"uses,omitempty"`
	With             *WithMap `yaml:"with,omitempty"`
}

type Runs

type Runs struct {
	Using string `yaml:"using"`

	*CompositeRun
	*JavascriptRun
	*DockerRun
}

func (Runs) MarshalYAML

func (r Runs) MarshalYAML() (interface{}, error)

func (*Runs) UnmarshalYAML

func (r *Runs) UnmarshalYAML(value *yaml.Node) error

type WithMap

type WithMap = map[string]string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL