Commit 81fb06f5 authored by Michael Yang's avatar Michael Yang
Browse files

more resilient Manifests

parent a385382f
......@@ -125,13 +125,24 @@ func Manifests() (map[model.Name]*Manifest, error) {
ms := make(map[model.Name]*Manifest)
for _, match := range matches {
rel, err := filepath.Rel(manifests, match)
fi, err := os.Stat(match)
if err != nil {
return nil, err
}
n := model.ParseNameFromFilepath(rel)
if n.IsValid() {
if !fi.IsDir() {
rel, err := filepath.Rel(manifests, match)
if err != nil {
slog.Warn("bad filepath", "path", match, "error", err)
continue
}
n := model.ParseNameFromFilepath(rel)
if !n.IsValid() {
slog.Warn("bad manifest name", "path", rel, "error", err)
continue
}
m, err := ParseNamedManifest(n)
if err != nil {
slog.Warn("bad manifest", "name", n, "error", err)
......
......@@ -56,6 +56,10 @@ func TestManifests(t *testing.T) {
filepath.Join("host", "namespace", "model", "tag"),
filepath.Join("host", "namespace", "model", ".hidden"),
},
"subdir": {
filepath.Join("host", "namespace", "model", "tag", "one"),
filepath.Join("host", "namespace", "model", "tag", "another", "one"),
},
}
for n, wants := range cases {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment