Build service "snapcraft.yaml can’t be used because it isn’t valid"

The build service needs to be more verbose when explaining that a build is broken because “snapcraft.yaml can’t be used because it isn’t valid”. It needs to tell us what it thinks is not valid or else how are we supposed to figure out what to change? This is particularly true when, as in the case of Corebird, the snapcraft.yaml works perfectly fine under snapcraft cleanbuild locally indicating that something is wrong with the build service but because it won’t tell us what it thinks is broken we can’t determine where the problem lies.

1 Like

Do you have an example broken build? Is it this one?

I can’t tell you which build because there is no log:

If there had been any form of feedback then I could have dug-in to figure out what went wrong, but all I see is “because the snapcraft.yaml is invalid.”

1 Like

Sorry, I misunderstood. Is there anything in the javascript console when you open that tab on that page?

nope :frowning: it’s as empty as an aborigine’s beer glass in the middle of the Bush with no pubs nearby…

That error appears to come from here which arrived in this PR. I ran your yaml through YAML Linter, and agree it looks sane. Might want to file an issue over on github.

1 Like

Thanks for chasing it, @popey.

No matter what the reason, this is a pretty strange message to have in the first place. Any code that checks for validity of the file should fail saying what was wrong, of course.

I’ve filed a bug

https://github.com/canonical-websites/build.snapcraft.io/issues/943

1 Like

This test site (below) uses the same parser, so can be used to check your yaml (while they work out the real fix)

http://nodeca.github.io/js-yaml/