Monorepo for Tangled
Something went wrong. Try again.
Go
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
package tangled
// schema: sh.tangled.ci.pipeline
import ( "encoding/json" "fmt"
"github.com/bluesky-social/indigo/lex/util")
const ( CiPipelineNSID = "sh.tangled.ci.pipeline")
// CiPipeline is a "main" in the sh.tangled.ci.pipeline schema.//// A CI pipeline. Record-like, but owned by the spindle rather than a PDS.type CiPipeline struct { // commit: Commit Id this pipeline is running on Commit string `json:"commit" cborgen:"commit"` CreatedAt *string `json:"createdAt,omitempty" cborgen:"createdAt,omitempty"` // id: Spindle-local pipeline id Id string `json:"id" cborgen:"id"` // repo: Repository DID Repo *string `json:"repo,omitempty" cborgen:"repo,omitempty"` // sourceRepo: Repository DID that the commit was checked out from, if different from repo (e.g. a fork for a fork-based pull request) SourceRepo *string `json:"sourceRepo,omitempty" cborgen:"sourceRepo,omitempty"` // trigger: Trigger event metadata Trigger *CiPipeline_Trigger `json:"trigger" cborgen:"trigger"` // workflows: Triggered workflows Workflows []*CiPipeline_Workflow `json:"workflows" cborgen:"workflows"`}
// Trigger event metadatatype CiPipeline_Trigger struct { CiTrigger_Push *CiTrigger_Push CiTrigger_PullRequest *CiTrigger_PullRequest CiTrigger_Manual *CiTrigger_Manual}
func (t *CiPipeline_Trigger) MarshalJSON() ([]byte, error) { if t.CiTrigger_Push != nil { t.CiTrigger_Push.LexiconTypeID = "sh.tangled.ci.trigger#push" return json.Marshal(t.CiTrigger_Push) } if t.CiTrigger_PullRequest != nil { t.CiTrigger_PullRequest.LexiconTypeID = "sh.tangled.ci.trigger#pullRequest" return json.Marshal(t.CiTrigger_PullRequest) } if t.CiTrigger_Manual != nil { t.CiTrigger_Manual.LexiconTypeID = "sh.tangled.ci.trigger#manual" return json.Marshal(t.CiTrigger_Manual) } return nil, fmt.Errorf("cannot marshal empty enum")}func (t *CiPipeline_Trigger) UnmarshalJSON(b []byte) error { typ, err := util.TypeExtract(b) if err != nil { return err }
switch typ { case "sh.tangled.ci.trigger#push": t.CiTrigger_Push = new(CiTrigger_Push) return json.Unmarshal(b, t.CiTrigger_Push) case "sh.tangled.ci.trigger#pullRequest": t.CiTrigger_PullRequest = new(CiTrigger_PullRequest) return json.Unmarshal(b, t.CiTrigger_PullRequest) case "sh.tangled.ci.trigger#manual": t.CiTrigger_Manual = new(CiTrigger_Manual) return json.Unmarshal(b, t.CiTrigger_Manual)
default: return nil }}
// CiPipeline_Workflow is a "workflow" in the sh.tangled.ci.pipeline schema.type CiPipeline_Workflow struct { Error *string `json:"error,omitempty" cborgen:"error,omitempty"` FinishedAt *string `json:"finishedAt,omitempty" cborgen:"finishedAt,omitempty"` // id: Spindle-local workflow id. Unique per pipeline, usually same as name. Id string `json:"id" cborgen:"id"` // name: Name of the workflow Name string `json:"name" cborgen:"name"` StartedAt *string `json:"startedAt,omitempty" cborgen:"startedAt,omitempty"` // status: Workflow status Status string `json:"status" cborgen:"status"`}