 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Artifacts ¶
type Artifacts struct {
	Exclude   []string `yaml:"exclude,omitempty"`
	ExpireIn  string   `yaml:"expire_in,omitempty"`
	ExposeAs  string   `yaml:"expose_as,omitempty"`
	Name      string   `yaml:"name,omitempty"`
	Paths     []string `yaml:"paths,omitempty"`
	Reports   *Reports `yaml:"reports,omitempty"`
	Untracked bool     `yaml:"untracked,omitempty"`
	When      string   `yaml:"when,omitempty"`
}
    type Assets ¶
type Assets struct {
	Links []*LinksItems `yaml:"links"`
}
    type CoverageReport ¶
type Default ¶
type Default struct {
	AfterScript   []*common.Script `yaml:"after_script"`
	Artifacts     *Artifacts       `yaml:"artifacts"`
	BeforeScript  []*common.Script `yaml:"before_script"`
	Cache         *common.Cache    `yaml:"cache"`
	Image         *common.Image    `yaml:"image"`
	Interruptible bool             `yaml:"interruptible"`
	Retry         *common.Retry    `yaml:"retry"`
	Services      []any            `yaml:"services"`
	Tags          []string         `yaml:"tags"`
	Timeout       string           `yaml:"timeout"`
}
    type GitlabCIConfiguration ¶
type GitlabCIConfiguration struct {
	AfterScript  *common.Script `yaml:"after_script"`
	BeforeScript *common.Script `yaml:"before_script"`
	Cache        *common.Cache  `yaml:"cache"`
	Default      *Default       `yaml:"default"`
	Image        *common.Image  `yaml:"image"`
	Include      *Include       `yaml:"include"`
	Pages    any   `yaml:"pages"`
	Services []any `yaml:"services"`
	// Groups jobs into stages. All jobs in one stage must complete before next stage is executed. Defaults to ['build', 'test', 'deploy'].
	Stages    []string                        `yaml:"stages"`
	Variables *common.EnvironmentVariablesRef `yaml:"variables"`
	Workflow  *Workflow                       `yaml:"workflow"`
	Jobs      map[string]*Job                 `yaml:",inline,omitempty"`
}
    type IncludeItem ¶
type IncludeItem struct {
	Project  string `yaml:"project"`
	Ref      string `yaml:"ref"`
	Template string `yaml:"template"`
	File     string `yaml:"file"`
	Local  string `yaml:"local"`
	Remote string `yaml:"remote"`
	FileReference *models.FileReference
}
    func (*IncludeItem) UnmarshalYAML ¶
func (it *IncludeItem) UnmarshalYAML(node *yaml.Node) error
type Job ¶
type Job struct {
	AfterScript  *common.Script `yaml:"after_script"`
	BeforeScript *common.Script `yaml:"before_script"`
	AllowFailure  *job.AllowFailure               `yaml:"allow_failure"`
	Artifacts     *Artifacts                      `yaml:"artifacts"`
	Cache         *common.Cache                   `yaml:"cache"`
	Coverage      string                          `yaml:"coverage"`
	Dependencies  []string                        `yaml:"dependencies"`
	Environment   any                             `yaml:"environment"` // TODO: implement
	Extends       any                             `yaml:"extends"`
	Image         *common.Image                   `yaml:"image"`
	Inherit       *job.Inherit                    `yaml:"inherit"`
	Interruptible bool                            `yaml:"interruptible"`
	Needs         *job.Needs                      `yaml:"needs"`
	Parallel      *job.Parallel                   `yaml:"parallel"`
	Release       *Release                        `yaml:"release"`
	ResourceGroup string                          `yaml:"resource_group"`
	Retry         *common.Retry                   `yaml:"retry"`
	Rules         *common.Rules                   `yaml:"rules"`
	Script        *common.Script                  `yaml:"script"`
	Secrets       *Secrets                        `yaml:"secrets"`
	Services      []any                           `yaml:"services"` // TODO: implement
	Stage         string                          `yaml:"stage"`
	StartIn       string                          `yaml:"start_in"`
	Tags          []string                        `yaml:"tags"`
	Timeout       string                          `yaml:"timeout"`
	Trigger       *job.Trigger                    `yaml:"trigger"`
	Variables     *common.EnvironmentVariablesRef `yaml:"variables"`
	When          string                          `yaml:"when"`
	Except *job.Controls `yaml:"except"`
	Only   *job.Controls `yaml:"only"`
	FileReference *models.FileReference
}
    func (*Job) UnmarshalYAML ¶
There's a bug in go-yaml and this is the only way we can currently have the jobs inside the ci configuration while keeping the job's file reference. Without overcomplicating, the bug won't allow us to both implement UnmarshalYAML and parse Job inline (as in, without a separate internal field)
type LinksItems ¶
type Reports ¶
type Reports struct {
	CoverageReport *CoverageReport `yaml:"coverage_report,omitempty"`
	Codequality        any `yaml:"codequality,omitempty"`
	ContainerScanning  any `yaml:"container_scanning,omitempty"`
	Dast               any `yaml:"dast,omitempty"`
	DependencyScanning any `yaml:"dependency_scanning,omitempty"`
	Dotenv             any `yaml:"dotenv,omitempty"`
	Junit              any `yaml:"junit,omitempty"`
	LicenseManagement  any `yaml:"license_management,omitempty"`
	LicenseScanning    any `yaml:"license_scanning,omitempty"`
	Lsif               any `yaml:"lsif,omitempty"`
	Metrics            any `yaml:"metrics,omitempty"`
	Performance        any `yaml:"performance,omitempty"`
	Requirements       any `yaml:"requirements,omitempty"`
	Sast               any `yaml:"sast,omitempty"`
	SecretDetection    any `yaml:"secret_detection,omitempty"`
	Terraform          any `yaml:"terraform,omitempty"`
}
    type Secrets ¶
type Secrets struct {
	AdditionalProperties map[string]*SecretsItem `yaml:"-"`
}
    type SecretsItem ¶
type SecretsItem struct {
	Vault any `yaml:"vault"`
}
     Click to show internal directories. 
   Click to hide internal directories.