This repository has no description
1package models
2
3import (
4 "github.com/bluesky-social/indigo/atproto/syntax"
5
6 "tangled.org/core/api/tangled"
7)
8
9type Pipeline struct {
10 RepoDid syntax.DID
11 Workflows map[Engine][]Workflow
12 // whether the code being ran was checked out from RepoDid itself
13 TrustedSource bool
14 // used to resolve cache hash files against the checkout the workflow builds
15 TriggerMetadata *tangled.Pipeline_TriggerMetadata
16}
17
18type Step interface {
19 Name() string
20 Command() string
21 Kind() StepKind
22}
23
24type StepKind int
25
26const (
27 // steps injected by the CI runner
28 StepKindSystem StepKind = iota
29 // steps defined by the user in the original pipeline
30 StepKindUser
31)
32
33type Workflow struct {
34 Steps []Step
35 Name string
36 Data any
37 Environment map[string]string
38 Caches []CacheEntry
39 Engine string
40}