nodejs / snap

Node.js snap source and updater
MIT License
169 stars 38 forks source link

New build failures - validation fail on "version" #38

Open rvagg opened 2 years ago

rvagg commented 2 years ago

Got a slew of failures in my inbox today that I don't have time to fully investigate right now. I've looked at a couple of the failure logs, one for 17 and one for 18, and I think they're likely all the same, here's one for 18:

https://launchpadlibrarian.net/599646903/buildlog_snap_ubuntu_focal_armhf_node18_BUILDING.txt.gz

Running pull phase... Issues while validating snapcraft.yaml: The 'version' property does not match the required schema: '' is not a valid snap version string. Snap versions consist of upper- and lower-case alphanumeric characters, as well as periods, colons, plus signs, tildes, and hyphens. They cannot begin with a period, colon, plus sign, tilde, or hyphen. They cannot end with a period, colon, or hyphen.

Current config looks good: https://github.com/nodejs/snap/blob/node18/snapcraft.yaml

But the previous update doesn't! https://github.com/nodejs/snap/commit/d3a364b9ccccf091de29c1d8675193db62c42de9, it's missing the version. That's weird, and a problem.

Need to investigate:

  1. Whether we got successful builds out of all the branches that were pushed today, or do we need to follow-up to get something fresh out
  2. How on earth these dodgy configs got built and pushed in the first place, snapcraft.yml.sh shouldn't be able to do this, it's picking up a bad version from somewhere and letting that get through, it should error out or ideally not even pick up a bad version in the first place!
richardlau commented 2 years ago
  1. How on earth these dodgy configs got built and pushed in the first place, snapcraft.yml.sh shouldn't be able to do this, it's picking up a bad version from somewhere and letting that get through, it should error out or ideally not even pick up a bad version in the first place!

My best guess is that this is linked to reports of the website returning 500 errors -- @ljharb reported them again yesterday (in Slack) and snapcraft.yml.sh not having pipefail set to catch errors fetching the index tabs in these lines: https://github.com/nodejs/snap/blob/ca6a7c5550e5199d86096d67f752c02fcb39b3a8/snapcraft.yaml.sh#L13 https://github.com/nodejs/snap/blob/ca6a7c5550e5199d86096d67f752c02fcb39b3a8/snapcraft.yaml.sh#L35