Skip to content

Commit 200c0df

Browse files
committed
feat(server/ioworkspace): add MarshalWorkflowYAML function
Added the MarshalWorkflowYAML function to convert WorkspaceData structures into workflow-centric YAML format. This complements the existing UnmarshalWorkflowYAML function, enabling round-trip serialization and deserialization of workflows. Also added comprehensive tests for marshaling and round-trip validation to ensure data integrity and correctness.
1 parent 76af69e commit 200c0df

8 files changed

Lines changed: 864 additions & 49 deletions

File tree

configs/go-tool/go.mod

Lines changed: 50 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -12,36 +12,37 @@ tool (
1212
require (
1313
4d63.com/gocheckcompilerdirectives v1.3.0 // indirect
1414
4d63.com/gochecknoglobals v0.2.2 // indirect
15-
cel.dev/expr v0.19.0 // indirect
15+
cel.dev/expr v0.19.1 // indirect
1616
connectrpc.com/connect v1.18.1 // indirect
1717
filippo.io/edwards25519 v1.1.0 // indirect
1818
github.com/4meepo/tagalign v1.4.2 // indirect
1919
github.com/Abirdcfly/dupword v0.1.3 // indirect
2020
github.com/Antonboom/errname v1.1.0 // indirect
2121
github.com/Antonboom/nilnil v1.1.0 // indirect
22-
github.com/Antonboom/testifylint v1.6.0 // indirect
22+
github.com/Antonboom/testifylint v1.6.1 // indirect
2323
github.com/BurntSushi/toml v1.5.0 // indirect
2424
github.com/Crocmagnon/fatcontext v0.7.1 // indirect
2525
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
2626
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1 // indirect
2727
github.com/Masterminds/semver/v3 v3.3.1 // indirect
2828
github.com/OpenPeeDeeP/depguard/v2 v2.2.1 // indirect
29+
github.com/alecthomas/chroma/v2 v2.16.0 // indirect
2930
github.com/alecthomas/go-check-sumtype v0.3.1 // indirect
30-
github.com/alexkohler/nakedret/v2 v2.0.5 // indirect
31+
github.com/alexkohler/nakedret/v2 v2.0.6 // indirect
3132
github.com/alexkohler/prealloc v1.0.0 // indirect
3233
github.com/alingse/asasalint v0.0.11 // indirect
33-
github.com/alingse/nilnesserr v0.1.2 // indirect
34+
github.com/alingse/nilnesserr v0.2.0 // indirect
3435
github.com/antlr4-go/antlr/v4 v4.13.1 // indirect
3536
github.com/ashanbrown/forbidigo v1.6.0 // indirect
3637
github.com/ashanbrown/makezero v1.2.0 // indirect
3738
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
3839
github.com/beorn7/perks v1.0.1 // indirect
3940
github.com/bkielbasa/cyclop v1.2.3 // indirect
4041
github.com/blizzy78/varnamelen v0.8.0 // indirect
41-
github.com/bombsimon/wsl/v4 v4.6.0 // indirect
42+
github.com/bombsimon/wsl/v4 v4.7.0 // indirect
4243
github.com/breml/bidichk v0.3.3 // indirect
4344
github.com/breml/errchkjson v0.4.1 // indirect
44-
github.com/butuzov/ireturn v0.3.1 // indirect
45+
github.com/butuzov/ireturn v0.4.0 // indirect
4546
github.com/butuzov/mirror v1.3.0 // indirect
4647
github.com/catenacyber/perfsprint v0.9.1 // indirect
4748
github.com/ccojocar/zxcvbn-go v1.0.2 // indirect
@@ -60,16 +61,17 @@ require (
6061
github.com/dave/dst v0.27.3 // indirect
6162
github.com/davecgh/go-spew v1.1.1 // indirect
6263
github.com/denis-tingaikin/go-header v0.5.0 // indirect
64+
github.com/dlclark/regexp2 v1.11.5 // indirect
6365
github.com/dustin/go-humanize v1.0.1 // indirect
6466
github.com/ettle/strcase v0.2.0 // indirect
6567
github.com/fatih/color v1.18.0 // indirect
6668
github.com/fatih/structtag v1.2.0 // indirect
67-
github.com/firefart/nonamedreturns v1.0.5 // indirect
69+
github.com/firefart/nonamedreturns v1.0.6 // indirect
6870
github.com/fsnotify/fsnotify v1.5.4 // indirect
6971
github.com/fzipp/gocyclo v0.6.0 // indirect
70-
github.com/ghostiam/protogetter v0.3.12 // indirect
72+
github.com/ghostiam/protogetter v0.3.15 // indirect
7173
github.com/go-critic/go-critic v0.13.0 // indirect
72-
github.com/go-sql-driver/mysql v1.8.1 // indirect
74+
github.com/go-sql-driver/mysql v1.9.2 // indirect
7375
github.com/go-toolsmith/astcast v1.1.0 // indirect
7476
github.com/go-toolsmith/astcopy v1.1.0 // indirect
7577
github.com/go-toolsmith/astequal v1.2.0 // indirect
@@ -85,13 +87,13 @@ require (
8587
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 // indirect
8688
github.com/golangci/go-printf-func-name v0.1.0 // indirect
8789
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d // indirect
88-
github.com/golangci/golangci-lint/v2 v2.0.2 // indirect
90+
github.com/golangci/golangci-lint/v2 v2.1.5 // indirect
8991
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 // indirect
9092
github.com/golangci/misspell v0.6.0 // indirect
9193
github.com/golangci/plugin-module-register v0.1.1 // indirect
9294
github.com/golangci/revgrep v0.8.0 // indirect
93-
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed // indirect
94-
github.com/google/cel-go v0.22.1 // indirect
95+
github.com/golangci/unconvert v0.0.0-20250410112200-a129a6e6413e // indirect
96+
github.com/google/cel-go v0.24.1 // indirect
9597
github.com/google/go-cmp v0.7.0 // indirect
9698
github.com/google/uuid v1.6.0 // indirect
9799
github.com/gordonklaus/ineffassign v0.1.0 // indirect
@@ -107,9 +109,9 @@ require (
107109
github.com/inconshreveable/mousetrap v1.1.0 // indirect
108110
github.com/jackc/pgpassfile v1.0.0 // indirect
109111
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
110-
github.com/jackc/pgx/v5 v5.7.2 // indirect
112+
github.com/jackc/pgx/v5 v5.7.4 // indirect
111113
github.com/jackc/puddle/v2 v2.2.2 // indirect
112-
github.com/jgautheron/goconst v1.7.1 // indirect
114+
github.com/jgautheron/goconst v1.8.1 // indirect
113115
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
114116
github.com/jinzhu/inflection v1.0.0 // indirect
115117
github.com/jjti/go-spancheck v0.6.4 // indirect
@@ -118,25 +120,26 @@ require (
118120
github.com/kisielk/errcheck v1.9.0 // indirect
119121
github.com/kkHAIKE/contextcheck v1.1.6 // indirect
120122
github.com/kulti/thelper v0.6.3 // indirect
121-
github.com/kunwardeep/paralleltest v1.0.10 // indirect
123+
github.com/kunwardeep/paralleltest v1.0.14 // indirect
122124
github.com/lasiar/canonicalheader v1.1.2 // indirect
123-
github.com/ldez/exptostd v0.4.2 // indirect
125+
github.com/ldez/exptostd v0.4.3 // indirect
124126
github.com/ldez/gomoddirectives v0.6.1 // indirect
125127
github.com/ldez/grignotin v0.9.0 // indirect
126128
github.com/ldez/tagliatelle v0.7.1 // indirect
127-
github.com/ldez/usetesting v0.4.2 // indirect
129+
github.com/ldez/usetesting v0.4.3 // indirect
128130
github.com/leonklingele/grouper v1.1.2 // indirect
129131
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
130132
github.com/macabu/inamedparam v0.2.0 // indirect
131133
github.com/magiconair/properties v1.8.6 // indirect
134+
github.com/manuelarte/funcorder v0.2.1 // indirect
132135
github.com/maratori/testableexamples v1.0.0 // indirect
133136
github.com/maratori/testpackage v1.1.1 // indirect
134137
github.com/matoous/godox v1.1.0 // indirect
135138
github.com/mattn/go-colorable v0.1.14 // indirect
136139
github.com/mattn/go-isatty v0.0.20 // indirect
137140
github.com/mattn/go-runewidth v0.0.16 // indirect
138141
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
139-
github.com/mgechev/revive v1.7.0 // indirect
142+
github.com/mgechev/revive v1.9.0 // indirect
140143
github.com/mitchellh/go-homedir v1.1.0 // indirect
141144
github.com/mitchellh/mapstructure v1.5.0 // indirect
142145
github.com/moricho/tparallel v0.3.2 // indirect
@@ -148,14 +151,15 @@ require (
148151
github.com/nunnatsa/ginkgolinter v0.19.1 // indirect
149152
github.com/olekukonko/tablewriter v0.0.5 // indirect
150153
github.com/pelletier/go-toml v1.9.5 // indirect
151-
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
154+
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
152155
github.com/pganalyze/pg_query_go/v5 v5.1.0 // indirect
156+
github.com/pganalyze/pg_query_go/v6 v6.1.0 // indirect
153157
github.com/pingcap/errors v0.11.5-0.20240311024730-e056997136bb // indirect
154158
github.com/pingcap/failpoint v0.0.0-20240528011301-b51a646c7c86 // indirect
155159
github.com/pingcap/log v1.1.0 // indirect
156-
github.com/pingcap/tidb/pkg/parser v0.0.0-20241203170126-9812d85d0d25 // indirect
160+
github.com/pingcap/tidb/pkg/parser v0.0.0-20250324122243-d51e00e5bbf0 // indirect
157161
github.com/pmezard/go-difflib v1.0.0 // indirect
158-
github.com/polyfloyd/go-errorlint v1.7.1 // indirect
162+
github.com/polyfloyd/go-errorlint v1.8.0 // indirect
159163
github.com/prometheus/client_golang v1.12.1 // indirect
160164
github.com/prometheus/client_model v0.2.0 // indirect
161165
github.com/prometheus/common v0.32.1 // indirect
@@ -176,18 +180,18 @@ require (
176180
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 // indirect
177181
github.com/sashamelentyev/interfacebloat v1.1.0 // indirect
178182
github.com/sashamelentyev/usestdlibvars v1.28.0 // indirect
179-
github.com/securego/gosec/v2 v2.22.2 // indirect
183+
github.com/securego/gosec/v2 v2.22.3 // indirect
180184
github.com/sirupsen/logrus v1.9.3 // indirect
181185
github.com/sivchari/containedctx v1.0.3 // indirect
182186
github.com/sonatard/noctx v0.1.0 // indirect
183187
github.com/sourcegraph/go-diff v0.7.0 // indirect
184-
github.com/spf13/afero v1.12.0 // indirect
188+
github.com/spf13/afero v1.14.0 // indirect
185189
github.com/spf13/cast v1.5.0 // indirect
186190
github.com/spf13/cobra v1.9.1 // indirect
187191
github.com/spf13/jwalterweatherman v1.1.0 // indirect
188192
github.com/spf13/pflag v1.0.6 // indirect
189193
github.com/spf13/viper v1.12.0 // indirect
190-
github.com/sqlc-dev/sqlc v1.28.0 // indirect
194+
github.com/sqlc-dev/sqlc v1.29.0 // indirect
191195
github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect
192196
github.com/stbenjam/no-sprintf-host-port v0.2.0 // indirect
193197
github.com/stoewer/go-strcase v1.2.0 // indirect
@@ -196,51 +200,52 @@ require (
196200
github.com/subosito/gotenv v1.4.1 // indirect
197201
github.com/tdakkota/asciicheck v0.4.1 // indirect
198202
github.com/tetafro/godot v1.5.0 // indirect
199-
github.com/tetratelabs/wazero v1.8.2 // indirect
203+
github.com/tetratelabs/wazero v1.9.0 // indirect
200204
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 // indirect
201-
github.com/timonwong/loggercheck v0.10.1 // indirect
202-
github.com/tomarrell/wrapcheck/v2 v2.10.0 // indirect
205+
github.com/timonwong/loggercheck v0.11.0 // indirect
206+
github.com/tomarrell/wrapcheck/v2 v2.11.0 // indirect
203207
github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect
204208
github.com/ultraware/funlen v0.2.0 // indirect
205209
github.com/ultraware/whitespace v0.2.0 // indirect
206210
github.com/uudashr/gocognit v1.2.0 // indirect
207211
github.com/uudashr/iface v1.3.1 // indirect
208-
github.com/wasilibs/go-pgquery v0.0.0-20240606042535-c0843d6592cc // indirect
209-
github.com/wasilibs/wazero-helpers v0.0.0-20240604052452-61d7981e9a38 // indirect
212+
github.com/wasilibs/go-pgquery v0.0.0-20250409022910-10ac41983c07 // indirect
213+
github.com/wasilibs/wazero-helpers v0.0.0-20240620070341-3dff1577cd52 // indirect
210214
github.com/xen0n/gosmopolitan v1.3.0 // indirect
211215
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
212216
github.com/yagipy/maintidx v1.0.0 // indirect
213217
github.com/yeya24/promlinter v0.3.0 // indirect
214218
github.com/ykadowak/zerologlint v0.1.5 // indirect
215219
gitlab.com/bosi/decorder v0.4.2 // indirect
216220
go-simpler.org/musttag v0.13.0 // indirect
217-
go-simpler.org/sloglint v0.9.0 // indirect
221+
go-simpler.org/sloglint v0.11.0 // indirect
222+
go.augendre.info/fatcontext v0.8.0 // indirect
218223
go.uber.org/atomic v1.11.0 // indirect
219224
go.uber.org/automaxprocs v1.6.0 // indirect
220225
go.uber.org/multierr v1.11.0 // indirect
221226
go.uber.org/zap v1.27.0 // indirect
222-
golang.org/x/crypto v0.36.0 // indirect
223-
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
227+
golang.org/x/crypto v0.37.0 // indirect
228+
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect
224229
golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac // indirect
225230
golang.org/x/mod v0.24.0 // indirect
226-
golang.org/x/net v0.37.0 // indirect
227-
golang.org/x/sync v0.12.0 // indirect
228-
golang.org/x/sys v0.31.0 // indirect
229-
golang.org/x/text v0.23.0 // indirect
230-
golang.org/x/tools v0.31.0 // indirect
231-
google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect
232-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250219182151-9fdb1cabc7b2 // indirect
233-
google.golang.org/grpc v1.70.0 // indirect
231+
golang.org/x/net v0.39.0 // indirect
232+
golang.org/x/sync v0.13.0 // indirect
233+
golang.org/x/sys v0.32.0 // indirect
234+
golang.org/x/text v0.24.0 // indirect
235+
golang.org/x/tools v0.32.0 // indirect
236+
google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect
237+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4 // indirect
238+
google.golang.org/grpc v1.71.1 // indirect
234239
google.golang.org/protobuf v1.36.6 // indirect
235240
gopkg.in/ini.v1 v1.67.0 // indirect
236241
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
237242
gopkg.in/yaml.v2 v2.4.0 // indirect
238243
gopkg.in/yaml.v3 v3.0.1 // indirect
239244
honnef.co/go/tools v0.6.1 // indirect
240-
modernc.org/libc v1.55.3 // indirect
241-
modernc.org/mathutil v1.6.0 // indirect
242-
modernc.org/memory v1.8.0 // indirect
243-
modernc.org/sqlite v1.34.5 // indirect
244-
mvdan.cc/gofumpt v0.7.0 // indirect
245+
modernc.org/libc v1.62.1 // indirect
246+
modernc.org/mathutil v1.7.1 // indirect
247+
modernc.org/memory v1.9.1 // indirect
248+
modernc.org/sqlite v1.37.0 // indirect
249+
mvdan.cc/gofumpt v0.8.0 // indirect
245250
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4 // indirect
246251
)

0 commit comments

Comments
 (0)