package ci import ( "os" "testing" ) // The repo's own pipeline file must parse and validate. func TestOwnCiConfig(t *testing.T) { src, err := os.ReadFile("../../.hearthforge-ci.toml") if err != nil { t.Fatal(err) } cfg, err := ParseCiConfig(string(src)) if err != nil { t.Fatal(err) } if msg := ValidateCiConfig(cfg); msg != "" { t.Fatal(msg) } if len(cfg.Steps) == 0 || cfg.Steps[len(cfg.Steps)-2].Name != "build" || len(cfg.Steps[len(cfg.Steps)-2].PublishFile) != 1 { t.Fatalf("build step should publish the binary: %+v", cfg.Steps) } }