selfconfig_test.go
⎇
Raw
1package ci
2
3import (
4 "os"
5 "testing"
6)
7
8// The repo's own pipeline file must parse and validate.
9func TestOwnCiConfig(t *testing.T) {
10 src, err := os.ReadFile("../../.hearthforge-ci.toml")
11 if err != nil {
12 t.Fatal(err)
13 }
14 cfg, err := ParseCiConfig(string(src))
15 if err != nil {
16 t.Fatal(err)
17 }
18 if msg := ValidateCiConfig(cfg); msg != "" {
19 t.Fatal(msg)
20 }
21 if len(cfg.Steps) == 0 || cfg.Steps[len(cfg.Steps)-2].Name != "build" || len(cfg.Steps[len(cfg.Steps)-2].PublishFile) != 1 {
22 t.Fatalf("build step should publish the binary: %+v", cfg.Steps)
23 }
24}
25