From 75fab79b778627af74a0bb131834ec34d0e27fe7 Mon Sep 17 00:00:00 2001 From: oppiliappan Date: Fri, 11 Jul 2025 13:12:53 +0100 Subject: [PATCH] workflow,spindle: regenerate api with new lexicon Change-Id: myqmppunmplutkzspmkuxznyrskvqztw Signed-off-by: oppiliappan --- api/tangled/cbor_gen.go | 330 ++++----------------------------- api/tangled/tangledpipeline.go | 34 ++-- cmd/gen.go | 6 +- spindle/models/pipeline.go | 14 +- workflow/compile.go | 4 +- workflow/def.go | 6 +- 6 files changed, 64 insertions(+), 330 deletions(-) diff --git a/api/tangled/cbor_gen.go b/api/tangled/cbor_gen.go index 4554c74..9b2240f 100644 --- a/api/tangled/cbor_gen.go +++ b/api/tangled/cbor_gen.go @@ -2188,7 +2188,7 @@ func (t *Pipeline_CloneOpts) UnmarshalCBOR(r io.Reader) (err error) { return nil } -func (t *Pipeline_Dependencies_Elem) MarshalCBOR(w io.Writer) error { +func (t *Pipeline_Dependency) MarshalCBOR(w io.Writer) error { if t == nil { _, err := w.Write(cbg.CborNull) return err @@ -2258,8 +2258,8 @@ func (t *Pipeline_Dependencies_Elem) MarshalCBOR(w io.Writer) error { return nil } -func (t *Pipeline_Dependencies_Elem) UnmarshalCBOR(r io.Reader) (err error) { - *t = Pipeline_Dependencies_Elem{} +func (t *Pipeline_Dependency) UnmarshalCBOR(r io.Reader) (err error) { + *t = Pipeline_Dependency{} cr := cbg.NewCborReader(r) @@ -2278,7 +2278,7 @@ func (t *Pipeline_Dependencies_Elem) UnmarshalCBOR(r io.Reader) (err error) { } if extra > cbg.MaxLength { - return fmt.Errorf("Pipeline_Dependencies_Elem: map struct too large (%d)", extra) + return fmt.Errorf("Pipeline_Dependency: map struct too large (%d)", extra) } n := extra @@ -2378,7 +2378,7 @@ func (t *Pipeline_ManualTriggerData) MarshalCBOR(w io.Writer) error { return err } - // t.Inputs ([]*tangled.Pipeline_ManualTriggerData_Inputs_Elem) (slice) + // t.Inputs ([]*tangled.Pipeline_Pair) (slice) if t.Inputs != nil { if len("inputs") > 1000000 { @@ -2450,7 +2450,7 @@ func (t *Pipeline_ManualTriggerData) UnmarshalCBOR(r io.Reader) (err error) { } switch string(nameBuf[:nameLen]) { - // t.Inputs ([]*tangled.Pipeline_ManualTriggerData_Inputs_Elem) (slice) + // t.Inputs ([]*tangled.Pipeline_Pair) (slice) case "inputs": maj, extra, err = cr.ReadHeader() @@ -2467,7 +2467,7 @@ func (t *Pipeline_ManualTriggerData) UnmarshalCBOR(r io.Reader) (err error) { } if extra > 0 { - t.Inputs = make([]*Pipeline_ManualTriggerData_Inputs_Elem, extra) + t.Inputs = make([]*Pipeline_Pair, extra) } for i := 0; i < int(extra); i++ { @@ -2489,7 +2489,7 @@ func (t *Pipeline_ManualTriggerData) UnmarshalCBOR(r io.Reader) (err error) { if err := cr.UnreadByte(); err != nil { return err } - t.Inputs[i] = new(Pipeline_ManualTriggerData_Inputs_Elem) + t.Inputs[i] = new(Pipeline_Pair) if err := t.Inputs[i].UnmarshalCBOR(cr); err != nil { return xerrors.Errorf("unmarshaling t.Inputs[i] pointer: %w", err) } @@ -2510,7 +2510,7 @@ func (t *Pipeline_ManualTriggerData) UnmarshalCBOR(r io.Reader) (err error) { return nil } -func (t *Pipeline_ManualTriggerData_Inputs_Elem) MarshalCBOR(w io.Writer) error { +func (t *Pipeline_Pair) MarshalCBOR(w io.Writer) error { if t == nil { _, err := w.Write(cbg.CborNull) return err @@ -2570,8 +2570,8 @@ func (t *Pipeline_ManualTriggerData_Inputs_Elem) MarshalCBOR(w io.Writer) error return nil } -func (t *Pipeline_ManualTriggerData_Inputs_Elem) UnmarshalCBOR(r io.Reader) (err error) { - *t = Pipeline_ManualTriggerData_Inputs_Elem{} +func (t *Pipeline_Pair) UnmarshalCBOR(r io.Reader) (err error) { + *t = Pipeline_Pair{} cr := cbg.NewCborReader(r) @@ -2590,7 +2590,7 @@ func (t *Pipeline_ManualTriggerData_Inputs_Elem) UnmarshalCBOR(r io.Reader) (err } if extra > cbg.MaxLength { - return fmt.Errorf("Pipeline_ManualTriggerData_Inputs_Elem: map struct too large (%d)", extra) + return fmt.Errorf("Pipeline_Pair: map struct too large (%d)", extra) } n := extra @@ -3014,141 +3014,6 @@ func (t *Pipeline_PushTriggerData) UnmarshalCBOR(r io.Reader) (err error) { return nil } - -func (t *Pipeline_Step_Environment_Elem) MarshalCBOR(w io.Writer) error { - if t == nil { - _, err := w.Write(cbg.CborNull) - return err - } - - cw := cbg.NewCborWriter(w) - - if _, err := cw.Write([]byte{162}); err != nil { - return err - } - - // t.Key (string) (string) - if len("key") > 1000000 { - return xerrors.Errorf("Value in field \"key\" was too long") - } - - if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("key"))); err != nil { - return err - } - if _, err := cw.WriteString(string("key")); err != nil { - return err - } - - if len(t.Key) > 1000000 { - return xerrors.Errorf("Value in field t.Key was too long") - } - - if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Key))); err != nil { - return err - } - if _, err := cw.WriteString(string(t.Key)); err != nil { - return err - } - - // t.Value (string) (string) - if len("value") > 1000000 { - return xerrors.Errorf("Value in field \"value\" was too long") - } - - if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("value"))); err != nil { - return err - } - if _, err := cw.WriteString(string("value")); err != nil { - return err - } - - if len(t.Value) > 1000000 { - return xerrors.Errorf("Value in field t.Value was too long") - } - - if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Value))); err != nil { - return err - } - if _, err := cw.WriteString(string(t.Value)); err != nil { - return err - } - return nil -} - -func (t *Pipeline_Step_Environment_Elem) UnmarshalCBOR(r io.Reader) (err error) { - *t = Pipeline_Step_Environment_Elem{} - - cr := cbg.NewCborReader(r) - - maj, extra, err := cr.ReadHeader() - if err != nil { - return err - } - defer func() { - if err == io.EOF { - err = io.ErrUnexpectedEOF - } - }() - - if maj != cbg.MajMap { - return fmt.Errorf("cbor input should be of type map") - } - - if extra > cbg.MaxLength { - return fmt.Errorf("Pipeline_Step_Environment_Elem: map struct too large (%d)", extra) - } - - n := extra - - nameBuf := make([]byte, 5) - for i := uint64(0); i < n; i++ { - nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 1000000) - if err != nil { - return err - } - - if !ok { - // Field doesn't exist on this type, so ignore it - if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil { - return err - } - continue - } - - switch string(nameBuf[:nameLen]) { - // t.Key (string) (string) - case "key": - - { - sval, err := cbg.ReadStringWithMax(cr, 1000000) - if err != nil { - return err - } - - t.Key = string(sval) - } - // t.Value (string) (string) - case "value": - - { - sval, err := cbg.ReadStringWithMax(cr, 1000000) - if err != nil { - return err - } - - t.Value = string(sval) - } - - default: - // Field doesn't exist on this type, so ignore it - if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil { - return err - } - } - } - - return nil -} func (t *PipelineStatus) MarshalCBOR(w io.Writer) error { if t == nil { _, err := w.Write(cbg.CborNull) @@ -3511,7 +3376,6 @@ func (t *PipelineStatus) UnmarshalCBOR(r io.Reader) (err error) { return nil } - func (t *Pipeline_Step) MarshalCBOR(w io.Writer) error { if t == nil { _, err := w.Write(cbg.CborNull) @@ -3575,7 +3439,7 @@ func (t *Pipeline_Step) MarshalCBOR(w io.Writer) error { return err } - // t.Environment ([]*tangled.Pipeline_Step_Environment_Elem) (slice) + // t.Environment ([]*tangled.Pipeline_Pair) (slice) if t.Environment != nil { if len("environment") > 1000000 { @@ -3669,7 +3533,7 @@ func (t *Pipeline_Step) UnmarshalCBOR(r io.Reader) (err error) { t.Command = string(sval) } - // t.Environment ([]*tangled.Pipeline_Step_Environment_Elem) (slice) + // t.Environment ([]*tangled.Pipeline_Pair) (slice) case "environment": maj, extra, err = cr.ReadHeader() @@ -3686,7 +3550,7 @@ func (t *Pipeline_Step) UnmarshalCBOR(r io.Reader) (err error) { } if extra > 0 { - t.Environment = make([]*Pipeline_Step_Environment_Elem, extra) + t.Environment = make([]*Pipeline_Pair, extra) } for i := 0; i < int(extra); i++ { @@ -3708,7 +3572,7 @@ func (t *Pipeline_Step) UnmarshalCBOR(r io.Reader) (err error) { if err := cr.UnreadByte(); err != nil { return err } - t.Environment[i] = new(Pipeline_Step_Environment_Elem) + t.Environment[i] = new(Pipeline_Pair) if err := t.Environment[i].UnmarshalCBOR(cr); err != nil { return xerrors.Errorf("unmarshaling t.Environment[i] pointer: %w", err) } @@ -4274,7 +4138,7 @@ func (t *Pipeline_Workflow) MarshalCBOR(w io.Writer) error { } - // t.Environment ([]*tangled.Pipeline_Workflow_Environment_Elem) (slice) + // t.Environment ([]*tangled.Pipeline_Pair) (slice) if len("environment") > 1000000 { return xerrors.Errorf("Value in field \"environment\" was too long") } @@ -4300,7 +4164,7 @@ func (t *Pipeline_Workflow) MarshalCBOR(w io.Writer) error { } - // t.Dependencies ([]tangled.Pipeline_Dependencies_Elem) (slice) + // t.Dependencies ([]*tangled.Pipeline_Dependency) (slice) if len("dependencies") > 1000000 { return xerrors.Errorf("Value in field \"dependencies\" was too long") } @@ -4449,7 +4313,7 @@ func (t *Pipeline_Workflow) UnmarshalCBOR(r io.Reader) (err error) { } } - // t.Environment ([]*tangled.Pipeline_Workflow_Environment_Elem) (slice) + // t.Environment ([]*tangled.Pipeline_Pair) (slice) case "environment": maj, extra, err = cr.ReadHeader() @@ -4466,7 +4330,7 @@ func (t *Pipeline_Workflow) UnmarshalCBOR(r io.Reader) (err error) { } if extra > 0 { - t.Environment = make([]*Pipeline_Workflow_Environment_Elem, extra) + t.Environment = make([]*Pipeline_Pair, extra) } for i := 0; i < int(extra); i++ { @@ -4488,7 +4352,7 @@ func (t *Pipeline_Workflow) UnmarshalCBOR(r io.Reader) (err error) { if err := cr.UnreadByte(); err != nil { return err } - t.Environment[i] = new(Pipeline_Workflow_Environment_Elem) + t.Environment[i] = new(Pipeline_Pair) if err := t.Environment[i].UnmarshalCBOR(cr); err != nil { return xerrors.Errorf("unmarshaling t.Environment[i] pointer: %w", err) } @@ -4498,7 +4362,7 @@ func (t *Pipeline_Workflow) UnmarshalCBOR(r io.Reader) (err error) { } } - // t.Dependencies ([]tangled.Pipeline_Dependencies_Elem) (slice) + // t.Dependencies ([]*tangled.Pipeline_Dependency) (slice) case "dependencies": maj, extra, err = cr.ReadHeader() @@ -4515,7 +4379,7 @@ func (t *Pipeline_Workflow) UnmarshalCBOR(r io.Reader) (err error) { } if extra > 0 { - t.Dependencies = make([]Pipeline_Dependencies_Elem, extra) + t.Dependencies = make([]*Pipeline_Dependency, extra) } for i := 0; i < int(extra); i++ { @@ -4529,8 +4393,18 @@ func (t *Pipeline_Workflow) UnmarshalCBOR(r io.Reader) (err error) { { - if err := t.Dependencies[i].UnmarshalCBOR(cr); err != nil { - return xerrors.Errorf("unmarshaling t.Dependencies[i]: %w", err) + b, err := cr.ReadByte() + if err != nil { + return err + } + if b != cbg.CborNull[0] { + if err := cr.UnreadByte(); err != nil { + return err + } + t.Dependencies[i] = new(Pipeline_Dependency) + if err := t.Dependencies[i].UnmarshalCBOR(cr); err != nil { + return xerrors.Errorf("unmarshaling t.Dependencies[i] pointer: %w", err) + } } } @@ -4548,140 +4422,6 @@ func (t *Pipeline_Workflow) UnmarshalCBOR(r io.Reader) (err error) { return nil } -func (t *Pipeline_Workflow_Environment_Elem) MarshalCBOR(w io.Writer) error { - if t == nil { - _, err := w.Write(cbg.CborNull) - return err - } - - cw := cbg.NewCborWriter(w) - - if _, err := cw.Write([]byte{162}); err != nil { - return err - } - - // t.Key (string) (string) - if len("key") > 1000000 { - return xerrors.Errorf("Value in field \"key\" was too long") - } - - if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("key"))); err != nil { - return err - } - if _, err := cw.WriteString(string("key")); err != nil { - return err - } - - if len(t.Key) > 1000000 { - return xerrors.Errorf("Value in field t.Key was too long") - } - - if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Key))); err != nil { - return err - } - if _, err := cw.WriteString(string(t.Key)); err != nil { - return err - } - - // t.Value (string) (string) - if len("value") > 1000000 { - return xerrors.Errorf("Value in field \"value\" was too long") - } - - if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("value"))); err != nil { - return err - } - if _, err := cw.WriteString(string("value")); err != nil { - return err - } - - if len(t.Value) > 1000000 { - return xerrors.Errorf("Value in field t.Value was too long") - } - - if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Value))); err != nil { - return err - } - if _, err := cw.WriteString(string(t.Value)); err != nil { - return err - } - return nil -} - -func (t *Pipeline_Workflow_Environment_Elem) UnmarshalCBOR(r io.Reader) (err error) { - *t = Pipeline_Workflow_Environment_Elem{} - - cr := cbg.NewCborReader(r) - - maj, extra, err := cr.ReadHeader() - if err != nil { - return err - } - defer func() { - if err == io.EOF { - err = io.ErrUnexpectedEOF - } - }() - - if maj != cbg.MajMap { - return fmt.Errorf("cbor input should be of type map") - } - - if extra > cbg.MaxLength { - return fmt.Errorf("Pipeline_Workflow_Environment_Elem: map struct too large (%d)", extra) - } - - n := extra - - nameBuf := make([]byte, 5) - for i := uint64(0); i < n; i++ { - nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 1000000) - if err != nil { - return err - } - - if !ok { - // Field doesn't exist on this type, so ignore it - if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil { - return err - } - continue - } - - switch string(nameBuf[:nameLen]) { - // t.Key (string) (string) - case "key": - - { - sval, err := cbg.ReadStringWithMax(cr, 1000000) - if err != nil { - return err - } - - t.Key = string(sval) - } - // t.Value (string) (string) - case "value": - - { - sval, err := cbg.ReadStringWithMax(cr, 1000000) - if err != nil { - return err - } - - t.Value = string(sval) - } - - default: - // Field doesn't exist on this type, so ignore it - if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil { - return err - } - } - } - - return nil -} func (t *PublicKey) MarshalCBOR(w io.Writer) error { if t == nil { _, err := w.Write(cbg.CborNull) diff --git a/api/tangled/tangledpipeline.go b/api/tangled/tangledpipeline.go index 3fd6776..ae625c4 100644 --- a/api/tangled/tangledpipeline.go +++ b/api/tangled/tangledpipeline.go @@ -29,17 +29,19 @@ type Pipeline_CloneOpts struct { Submodules bool `json:"submodules" cborgen:"submodules"` } -type Pipeline_Dependencies_Elem struct { +// Pipeline_Dependency is a "dependency" in the sh.tangled.pipeline schema. +type Pipeline_Dependency struct { Packages []string `json:"packages" cborgen:"packages"` Registry string `json:"registry" cborgen:"registry"` } // Pipeline_ManualTriggerData is a "manualTriggerData" in the sh.tangled.pipeline schema. type Pipeline_ManualTriggerData struct { - Inputs []*Pipeline_ManualTriggerData_Inputs_Elem `json:"inputs,omitempty" cborgen:"inputs,omitempty"` + Inputs []*Pipeline_Pair `json:"inputs,omitempty" cborgen:"inputs,omitempty"` } -type Pipeline_ManualTriggerData_Inputs_Elem struct { +// Pipeline_Pair is a "pair" in the sh.tangled.pipeline schema. +type Pipeline_Pair struct { Key string `json:"key" cborgen:"key"` Value string `json:"value" cborgen:"value"` } @@ -61,14 +63,9 @@ type Pipeline_PushTriggerData struct { // Pipeline_Step is a "step" in the sh.tangled.pipeline schema. type Pipeline_Step struct { - Command string `json:"command" cborgen:"command"` - Environment []*Pipeline_Step_Environment_Elem `json:"environment,omitempty" cborgen:"environment,omitempty"` - Name string `json:"name" cborgen:"name"` -} - -type Pipeline_Step_Environment_Elem struct { - Key string `json:"key" cborgen:"key"` - Value string `json:"value" cborgen:"value"` + Command string `json:"command" cborgen:"command"` + Environment []*Pipeline_Pair `json:"environment,omitempty" cborgen:"environment,omitempty"` + Name string `json:"name" cborgen:"name"` } // Pipeline_TriggerMetadata is a "triggerMetadata" in the sh.tangled.pipeline schema. @@ -90,14 +87,9 @@ type Pipeline_TriggerRepo struct { // Pipeline_Workflow is a "workflow" in the sh.tangled.pipeline schema. type Pipeline_Workflow struct { - Clone *Pipeline_CloneOpts `json:"clone" cborgen:"clone"` - Dependencies []Pipeline_Dependencies_Elem `json:"dependencies" cborgen:"dependencies"` - Environment []*Pipeline_Workflow_Environment_Elem `json:"environment" cborgen:"environment"` - Name string `json:"name" cborgen:"name"` - Steps []*Pipeline_Step `json:"steps" cborgen:"steps"` -} - -type Pipeline_Workflow_Environment_Elem struct { - Key string `json:"key" cborgen:"key"` - Value string `json:"value" cborgen:"value"` + Clone *Pipeline_CloneOpts `json:"clone" cborgen:"clone"` + Dependencies []*Pipeline_Dependency `json:"dependencies" cborgen:"dependencies"` + Environment []*Pipeline_Pair `json:"environment" cborgen:"environment"` + Name string `json:"name" cborgen:"name"` + Steps []*Pipeline_Step `json:"steps" cborgen:"steps"` } diff --git a/cmd/gen.go b/cmd/gen.go index 7fc422e..c04a035 100644 --- a/cmd/gen.go +++ b/cmd/gen.go @@ -24,18 +24,16 @@ func main() { tangled.KnotMember{}, tangled.Pipeline{}, tangled.Pipeline_CloneOpts{}, - tangled.Pipeline_Dependencies_Elem{}, + tangled.Pipeline_Dependency{}, tangled.Pipeline_ManualTriggerData{}, - tangled.Pipeline_ManualTriggerData_Inputs_Elem{}, + tangled.Pipeline_Pair{}, tangled.Pipeline_PullRequestTriggerData{}, tangled.Pipeline_PushTriggerData{}, - tangled.Pipeline_Step_Environment_Elem{}, tangled.PipelineStatus{}, tangled.Pipeline_Step{}, tangled.Pipeline_TriggerMetadata{}, tangled.Pipeline_TriggerRepo{}, tangled.Pipeline_Workflow{}, - tangled.Pipeline_Workflow_Environment_Elem{}, tangled.PublicKey{}, tangled.Repo{}, tangled.RepoArtifact{}, diff --git a/spindle/models/pipeline.go b/spindle/models/pipeline.go index 9dee0c8..31c542d 100644 --- a/spindle/models/pipeline.go +++ b/spindle/models/pipeline.go @@ -83,23 +83,27 @@ func ToPipeline(pl tangled.Pipeline, cfg config.Config) *Pipeline { return &Pipeline{Workflows: workflows} } -func workflowEnvToMap(envs []*tangled.Pipeline_Workflow_Environment_Elem) map[string]string { +func workflowEnvToMap(envs []*tangled.Pipeline_Pair) map[string]string { envMap := map[string]string{} for _, env := range envs { - envMap[env.Key] = env.Value + if env != nil { + envMap[env.Key] = env.Value + } } return envMap } -func stepEnvToMap(envs []*tangled.Pipeline_Step_Environment_Elem) map[string]string { +func stepEnvToMap(envs []*tangled.Pipeline_Pair) map[string]string { envMap := map[string]string{} for _, env := range envs { - envMap[env.Key] = env.Value + if env != nil { + envMap[env.Key] = env.Value + } } return envMap } -func workflowImage(deps []tangled.Pipeline_Dependencies_Elem, nixery string) string { +func workflowImage(deps []*tangled.Pipeline_Dependency, nixery string) string { var dependencies string for _, d := range deps { if d.Registry == "nixpkgs" { diff --git a/workflow/compile.go b/workflow/compile.go index 53f2fe1..057ee59 100644 --- a/workflow/compile.go +++ b/workflow/compile.go @@ -98,7 +98,7 @@ func (compiler *Compiler) compileWorkflow(w Workflow) tangled.Pipeline_Workflow Name: s.Name, } for k, v := range s.Environment { - e := &tangled.Pipeline_Step_Environment_Elem{ + e := &tangled.Pipeline_Pair{ Key: k, Value: v, } @@ -107,7 +107,7 @@ func (compiler *Compiler) compileWorkflow(w Workflow) tangled.Pipeline_Workflow cw.Steps = append(cw.Steps, &step) } for k, v := range w.Environment { - e := &tangled.Pipeline_Workflow_Environment_Elem{ + e := &tangled.Pipeline_Pair{ Key: k, Value: v, } diff --git a/workflow/def.go b/workflow/def.go index 7f225c6..436654b 100644 --- a/workflow/def.go +++ b/workflow/def.go @@ -167,10 +167,10 @@ func (s *StringList) UnmarshalYAML(unmarshal func(any) error) error { } // conversion utilities to atproto records -func (d Dependencies) AsRecord() []tangled.Pipeline_Dependencies_Elem { - var deps []tangled.Pipeline_Dependencies_Elem +func (d Dependencies) AsRecord() []*tangled.Pipeline_Dependency { + var deps []*tangled.Pipeline_Dependency for registry, packages := range d { - deps = append(deps, tangled.Pipeline_Dependencies_Elem{ + deps = append(deps, &tangled.Pipeline_Dependency{ Registry: registry, Packages: packages, }) -- 2.43.0