Conversation
The test will fail on external PRs or locally built images because the devcontainer can't be downloaded. Skip the test if the download has no chance to succeed.
| version=$(source /usr/share/flatcar/release; echo "${FLATCAR_RELEASE_VERSION}") | ||
| image_url=$(process_template '{{ .ImageDirectoryURLTemplate }}/flatcar_developer_container.bin.bz2' "${arch}" "${version}") | ||
|
|
||
| if [ "$(curl -I --retry-delay 1 --retry 60 --retry-connrefused --retry-max-time 60 --connect-timeout 20 -L -s -o /dev/null -w "%{http_code}" "${image_url}")" = 404 ]; then |
There was a problem hiding this comment.
As the image_url is built from some well-known variables (arch, version, etc.) - I'm wondering if we can't use the SkipFunc?
Otherwise we don't really skip the test, we just make it pass right?
There was a problem hiding this comment.
Yes, we don't skip it because I didn't want to duplicate the URL assembly but if wanted, we can do this. SkipFunc is not enough because we need the version ID from the image's os-release file. I can rework this to skip the test.
There was a problem hiding this comment.
It's just that Mantle has already a logic to skip the test and it's supported by the TAP format - we could see to leverage it (or use the SkipFunc).
As a trade-off, we could return a well-known return code or string, when the script is executed if we're getting this value: c.Skip
The test will fail on external PRs or locally built images because the devcontainer can't be downloaded.
Skip the test if the download has no chance to succeed.
How to use
Testing done
Just ran the line with an existing and non-existing URL.