Open amscotti opened 4 years ago
I have had the same issue for the C# and F# tracks.
This is a link to the failing build on GitHub actions: https://github.com/exercism/csharp/pull/1364/checks?check_run_id=465607250
Same problem on the Haskell track; I have two PRs that won't build (https://github.com/exercism/haskell/pull/896 and https://github.com/exercism/haskell/pull/897).
This PR also proposes a fix that uses perl
instead to make the check case insensitive: https://github.com/exercism/sml/pull/127.
Having this issue when trying to PR into the Javascript track.
same issue on fortran track: https://github.com/exercism/fortran/issues/71
The most robust way to fix this is to find the line in your CI doing:
VERSION="$(curl --head --silent $LATEST | awk -v FS=/ '/Location:/{print $NF}' | tr -d '\r')"
and replace /Location
with toupper($0) ~ /LOCATION
(or tolower($0) ~ /location
) so that it looks like this:
VERSION="$(curl --head --silent $LATEST | awk -v FS=/ 'toupper($0) ~ /LOCATION:/{print $NF}' | tr -d '\r')"
This is because HTTP headers are case insensitive according to their specification.
@Cohen-Carlisle Actually, the underlying issue for this issue is that we're hitting rate limiting. So the best way to update is update to the latest version of the fetch-configlet
file (https://github.com/exercism/configlet/blob/master/scripts/fetch-configlet). Coincidentally, the latest version does not use the header anymore but instead uses the GitHub API.
Note that the latest version is easy to integrate when using GitHub Actions for the CI (see this example), and we're working on Travis support.
I'm not sure how out of date elixir's fetch-configlet was, but I can say with certainty that it was 100% broken due to the casing of the Location header. The file you linked is indeed a better solution, though, as it takes care of rate limiting and won't struggle with http headers' case insensitivity.
Ah right, so you were bitten by a different bug then :)
I'm not really sure if this is an issue or just something I'm seeing due to something temporary or intermittent but when working on the Groovy track, when running
fetch-configlet
I'm getting this error,I have seen this locally, (Mac OS, Ubuntu on WSL) along with on CI (Travis and GitHub Actions). If I keep running the build it will eventually pass without any errors from
fetch-configlet
.Link to failing build on Travis
Looking into this a bit, it seems that the script is unable to get the version and is using the wrong URL to download from. One of the things I have tried is upgrading
fetch-configlet
to the latest version but I was still seeing this issue.I can no longer reproduce this locally, so maybe it's something just intermittent but I do still see this popping up in CI.
Let me know if I can do anything to help by providing more information, it is kind of tricky because it is intermittent but I'll do my best with adding any more details that I can. This does seem related to #165, but that seems to be more about reporting the error then fixing it.
Thanks!