config

package
v0.0.0-...-41a5b5c Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BuildSkipping

type BuildSkipping struct {
	SkipIntermediateBuilds   bool   `yaml:"skip_queued_branch_builds,omitempty"`
	SkipBranches             string `yaml:"skip_queued_branch_builds_filter,omitempty"`
	CancelIntermediateBuilds bool   `yaml:"cancel_running_branch_builds,omitempty"`
	CancelBranches           string `yaml:"cancel_running_branch_builds_filter,omitempty"`
}

type Config

type Config struct {
	Pipelines []Pipeline `yaml:"pipelines"`
}

func ReadConfig

func ReadConfig(path string) (*Config, error)

func ReadFromBuildkite

func ReadFromBuildkite(org, apiToken string, debug bool) (*Config, error)

func (*Config) Compare

func (config *Config) Compare(other *Config) (string, error)

func (*Config) String

func (config *Config) String() string

func (*Config) Yaml

func (config *Config) Yaml(pipelines ...string) (string, error)

type Pipeline

type Pipeline struct {
	Name          string         `yaml:"name"`
	Slug          string         `yaml:"slug"`
	Description   string         `yaml:"description,omitempty"`
	Configuration string         `yaml:"configuration,omitempty"`
	Public        bool           `yaml:"public"`
	Steps         []Step         `yaml:"steps,omitempty"`
	Teams         []TeamAccess   `yaml:"teams,omitempty"`
	Schedules     []Schedule     `yaml:"schedules,omitempty"`
	BuildSkipping *BuildSkipping `yaml:"build_skipping,omitempty"`
	Repository    *Repository    `yaml:"repository,omitempty"`
	Provider      *Provider      `yaml:"provider,omitempty"`
}

type Provider

type Provider struct {
	WebhookUrl string                 `yaml:"webhook_url"`
	Settings   map[string]interface{} `yaml:"settings"`
}

TODO(fwe): Get url and name from GraphQL?

type Repository

type Repository struct {
	RepositoryUrl  string `yaml:"repository,omitempty"`
	DefaultBranch  string `yaml:"default_branch,omitempty"`
	BranchLimiting string `yaml:"branch_limiting,omitempty"`
}

type Schedule

type Schedule struct {
	CronInterval         string   `yaml:"cron_interval,omitempty"`
	Description          string   `yaml:"description,omitempty"`
	BuildMessage         string   `yaml:"build_message,omitempty"`
	Commit               string   `yaml:"commit,omitempty"`
	Branch               string   `yaml:"branch,omitempty"`
	EnvironmentVariables []string `yaml:"env,omitempty"`
	Enabled              bool     `yaml:"enabled"`
}

type Step

type Step struct {
	Name                 string            `yaml:"name"`
	Type                 string            `yaml:"type"`
	Command              string            `yaml:"command,omitempty"`
	Agents               []string          `yaml:"agents,omitempty"`
	Branches             string            `yaml:"branches,omitempty"`
	ArtifactPaths        string            `yaml:"artifact_paths,omitempty"`
	Timeout              int               `yaml:"timeout,omitempty"`
	Concurrency          int               `yaml:"concurrency,omitempty"`
	Parallelism          int               `yaml:"parallelism,omitempty"`
	EnvironmentVariables map[string]string `yaml:"env,omitempty"`
}

type TeamAccess

type TeamAccess struct {
	Slug        string `yaml:"slug"`
	AccessLevel string `yaml:"access_level"`
}

Jump to

Keyboard shortcuts

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