1
0
mirror of https://github.com/woodpecker-ci/woodpecker.git synced 2025-12-17 21:57:29 +02:00
Files
woodpecker/pipeline/frontend/yaml/parse.go
6543 71666f0500 Fail hard on deprecated pipeline keys (#2180)
so we can drop it in next minor version complete
2023-08-09 15:33:10 +02:00

38 lines
854 B
Go

package yaml
import (
"fmt"
"codeberg.org/6543/xyaml"
"github.com/woodpecker-ci/woodpecker/pipeline/frontend/yaml/types"
)
// ParseBytes parses the configuration from bytes b.
func ParseBytes(b []byte) (*types.Workflow, error) {
out := new(types.Workflow)
err := xyaml.Unmarshal(b, out)
if err != nil {
return nil, err
}
// fail hard on deprecated branch filter
if out.BranchesDontUseIt != nil {
return nil, fmt.Errorf("\"branches:\" filter got removed, use \"branch\" in global when filter")
}
// fail hard on deprecated pipeline keyword
if len(out.PipelineDontUseIt.ContainerList) != 0 {
return nil, fmt.Errorf("\"pipeline:\" got removed, user \"steps:\"")
}
return out, nil
}
// ParseString parses the configuration from string s.
func ParseString(s string) (*types.Workflow, error) {
return ParseBytes(
[]byte(s),
)
}