github-action
github-action copied to clipboard
force curl to use HTTP/1.1 for package downloads
Intermittent failures to fetch the tailscale package seem to be an HTTP/2 issue. HTTP/2 isn't doing anything better than HTTP/1.1 for fetching a single file so why not try downgrading the protocol?
the error:
curl: (92) HTTP/2 stream 1 was not closed cleanly: INTERNAL_ERROR (err 2)
the reported issue: https://github.com/tailscale/github-action/issues/158
reference: https://stackoverflow.com/questions/56413290/getting-curl-92-http-2-stream-1-was-not-closed-cleanly-internal-error-err
I don't like changes like this that are just hunches (based on some error message found in a google result?) that then perpetuate some myths that one protocol is flakier than another protocol.
I would prefer to see evidence or at least empirical results over N runs of each.
so why not try downgrading the protocol?
Who's going to track & measure this experiment? Or is this experiment over once this PR is merged?
I do think the error reported in #158 is actually a red herring and downgrading the protocol wouldn't fix it.
We noticed this issue was regionalized. We also noticed that using curl's default user-agent doesn't seem to trigger it, so I suspect there's some rate-limiting process involved.
As of v4.0.0, the action is implemented in JavaScript and no longer uses curl for downloads.