Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Impl GhApiClient and use it in cargo-binstall to speedup resolution process #832

Merged
merged 43 commits into from
Mar 2, 2023

Conversation

NobodyXu
Copy link
Member

@NobodyXu NobodyXu commented Feb 24, 2023

Fixed #776

  • Add new feature gh-api-client to binstalk-downloader
  • Impl new type binstalk_downloader::remote::{RequestBuilder, Response}
  • Impl binstalk_downloader::gh_api_client::GhApiClient, exposed if cfg(feature = "gh-api-client") and add e2e and unit tests for it
  • Use binstalk_downloader::gh_api_client::GhApiClient to speedup cargo-binstall
  • Add new option --github-token to supply the token for GitHub restful API, or read from env variable GITHUB_TOKEN if not present.

Signed-off-by: Jiahao XU Jiahao_XU@outlook.com

.github/workflows/ci.yml Outdated Show resolved Hide resolved
@NobodyXu NobodyXu requested a review from passcod February 24, 2023 11:41
Copy link
Member

@passcod passcod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will review more tomorrow

GhRelease { owner, repo, tag }: GhRelease,
auth_token: Option<&str>,
) -> Result<FetchReleaseRet, GhApiError> {
let mut request_builder = client
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we do a graphql query instead? likely to be a lot more efficient esp api limits wise

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not very familiar with graphql, I will look into it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would have to first fix the bugs in this PR first.

Copy link
Member

@passcod passcod Feb 24, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something like this

query { 
  cargoBinstall: repository(owner: "cargo-bins", name: "cargo-binstall") {
    withV: release(tagName: "v0.20.1") { ...artifacts }
    noV: release(tagName: "0.20.1") { ...artifacts }
  }

  cargoWatch: repository(owner: "watchexec", name: "cargo-watch") {
    withV: release(tagName: "v8.4.0") { ...artifacts }
    noV: release(tagName: "8.4.0") { ...artifacts }
  }
}

fragment artifacts on Release {
  isLatest
  isPrerelease
  releaseAssets(first: 100) {
    nodes {
      name
      url
    }
  }
}

would do a single request for all the lookups at once.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we'd still need the ReST API for unauthenticated acccess, tho

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we'd still need the ReST API for unauthenticated acccess, tho

Uhhh then it perhaps isn't worth the time supporting this GraphQL for now.

would do a single request for all the lookups at once.

That will be great and reduce the network overhead, but requires some architecture changes to fetch everything at once.

Considering that GraphQL is only available with a token, I'm a bit hesitant to do this.

Copy link
Member Author

@NobodyXu NobodyXu Feb 25, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

likely to be a lot more efficient esp api limits wise

Since GraphQL cannot be used for unauthorized access and for access with token, GitHub allows 5000 requests per hous, I don't think we can adopt GraphQL api to avoid hitting rate limit.

Besides, it seems that GitHub has its own way of calculating rate limit for GraphQL since it is very versatile and can incur a lot of database query in one request, so we might just keep using and improving our use of the GitHub Restful API.

Copy link
Member

@passcod passcod Feb 25, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Besides, it seems that GitHub has its own way of calculating rate limit for GraphQL

oh I tested that and we can do something like 50k crates per hour with the quota in there.

But agreed on other points.

Copy link
Member Author

@NobodyXu NobodyXu Feb 25, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh I tested that and we can do something like 50k crates per hour with the quota in there.

50k crates per hour?
Using the GitHub Restful API we can only check 5k crates per hous, 50k is a lot.

In that case, maybe @passcod you can submit another PR after this one to add a specialisation if the GITHUB_TOKEN is provided?

That might be useful to further speedup resolution and for repositories that might hit the limit, though it's hard to me to imagine hitting the 5k limit already.

TBH, I'm not sure whether there will be anybody able to hit the limit with just using cargo-binstall alone, though if they do something else with the GITHUB_TOKEN they could hit it.

@NobodyXu
Copy link
Member Author

BTW, I'm also considering using GitHub Restful API to speedup QuickInstall, which encodes the version and target all in release/tag name.

Unfortunately there is no search API for the release or tag, so I'm considering listing release tags since listing release would contains too many unused information and there are many, many tags on cargo-quickinstall.

But even then, we cannot guarantee any tag of interest is necessary cached so not sure how to do this efficiently.

Doing so probably requires cooperation from cargo-quickinstall, like storing a cache for which targets are supported for a range of crates and versions, which is the most efficient way.

For example, we can say that x86_64-unknown-linux-gnu is supported for all crates and versions, and the musl one is supported except for crates with version earlier than a certain threshold, etc.

cc @alsuren @Milo123459

@passcod
Copy link
Member

passcod commented Feb 25, 2023

Do we need to? if we lookup the version from crates.io, we have the tag already

@NobodyXu
Copy link
Member Author

NobodyXu commented Feb 25, 2023

Do we need to? if we lookup the version from crates.io, we have the tag already

Ehh I am talking about finding out which target is supported by quickinstall for each crate and version.

@passcod
Copy link
Member

passcod commented Feb 25, 2023

Oh, sorry! Yeah, quickinstall having a release per target is a bit weird in that regard

@alsuren
Copy link
Contributor

alsuren commented Feb 25, 2023

Oh, sorry! Yeah, quickinstall having a release per target is a bit weird in that regard

When I made that decision, it was when I was frantically trying to replace jfrog bintray before it was sunsetted. I basically went with the first thing that worked. If it would be easier to also have a tag-per-crate-version, we could do that.

It would go something like:

  1. duplicate https://github.com/cargo-bins/cargo-quickinstall/blob/main/.github/workflows/build-package.yml.template#L109-L124 and make sure it handles the case where the tag already exists
  2. backfill as many versions as we can be bothered with. Either:
    a) Maybe just copy over the latest version of each package for each arch. Would that be enough?
    b) Backfill the whole lot. A full download of all packages is only a couple of GB (from memory) so backfilling the whole lot would probably be fine.
  3. update the cargo-quickinstall client to look in the new location, so we can eventually sunset the old scheme if we want to
  4. make cargo-binstall use the new scheme

@alsuren
Copy link
Contributor

alsuren commented Feb 25, 2023

BTW, I'm also considering using GitHub Restful API to speedup QuickInstall, which encodes the version and target all in release/tag name.

if by QuickInstall you mean the cargo-quickinstall client, I don't think you need to. The cargo-quickinstall client will only ever download a single tarball, so it is enough to just guess what the url for the requested arch is and try to curl it.

cargo-quickinstall also follows the philosophy of "give you whatever cargo install would give you, but faster". This means we should never go hunting for old versions of packages, or architectures other than the one you asked for.

Doing so probably requires cooperation from cargo-quickinstall, like storing a cache for which targets are supported for a range of crates and versions, which is the most efficient way.

For example, we can say that x86_64-unknown-linux-gnu is supported for all crates and versions, and the musl one is supported except for crates with version earlier than a certain threshold, etc.

I don't understand the use-case here. What does the user need to type in order to get cargo-binstall to go searching for a range of packages? (@mention me on a line of code if it would help - I've not read your code)

Side note:

My impression is that the github rest api is slow and quite aggressively throttled. If you only have 3 candidate locations to search, you may find that running curl --fail --location --head $url on the 3 locations in parallel will get you the answer faster than doing a search query in the github api.

@NobodyXu
Copy link
Member Author

If it would be easier to also have a tag-per-crate-version, we could do that.

Having a tag-per-crate-version would definitely make it easier and more straightforward.

a) Maybe just copy over the latest version of each package for each arch. Would that be enough?

That might be enough given that most people just want the latest version and quickinstall provides pre-built artifact as a best-effort.

b) Backfill the whole lot. A full download of all packages is only a couple of GB (from memory) so backfilling the whole lot would probably be fine.

That will be great, though maybe just the recent versions alone might be enough.

@NobodyXu
Copy link
Member Author

if by QuickInstall you mean the cargo-quickinstall client, I don't think you need to.

No Inwas referring to the QuickInstall client in cargo-binstall.

I don't understand the use-case here. What does the user need to type in order to get cargo-binstall to go searching for a range of packages? (@mention me on a line of code if it would help - I've not read your code)

Yes, it will check a range of targets.

E.g. if you are on x86_64-unknown-linux-gnu, then it will also check x86_64-unknown-linux-musl.

On aarch64 MacOS, it will fallback to x86_64 MacOS and then universal MacOS.

It will also has auto discovery support for upstream github release, so it will check for existing pre-built artifacts in upstream github release (or bitbucket, gitlan, etc) even if the maintainer does not override package.binstall at all, which is part of the reason why cargo-binstall is slow.

This PR meant to solve this by fetching all artifacts for a release and cache them so that the auto discovery can run without too many HEAD/GET requests to upstream, which causes us to be rate limited by github and occasionally fails with extremely strange error like tcp connect/dns timeout, opening too many streams, etc, you can check the top opened issues in this repo.

My impression is that the github rest api is slow and quite aggressively throttled. If you only have 3 candidate locations to search, you may find that running curl --fail --location --head $url on the 3 locations in parallel will get you the answer faster than doing a search query in the github api.

Our GhCrateMeta fetcher creates a lot of requests which get us rate limited by github, which is what this PR meant to solve.

There is also PR #650 to add more fallbacks for windows and is waiting to be tested out.

And finally, GitHub Restful API gives unauthorised users 60 API requests per hour per originating IP address, which is quite good for devs.

For CI, they can use export ${ secrets.GITHUB_TOKEN } as environment variable GITHUB_TOKEN, which after this PR, cargo-binstall would pick it up and use it (or supply it as a cmdline option --github-token) and then it will give you 5000 API requests per hour, which is far more than enough for the CI.

@passcod
Copy link
Member

passcod commented Feb 25, 2023

In the current scheme for QuickInstall we don't need to hit the API, really. It would be the same amount of requests as just trying the URLs directly.

@NobodyXu
Copy link
Member Author

NobodyXu commented Feb 25, 2023

In the current scheme for QuickInstall we don't need to hit the API, really. It would be the same amount of requests as just trying the URLs directly.

If we have one/two fallback targets and given that quickinstall has switched to new crate-ver tag/release, using the api could still save at least 1 or even 3 requests since each HEAD would fail and fallback to GET.

@NobodyXu NobodyXu requested a review from passcod February 25, 2023 14:18
@jimeh
Copy link

jimeh commented Feb 25, 2023

I'm really looking forward for this to be merged. My first attempt at using binstall yielded 429 rate limit errors pretty much right away making it unusable. Though I had passed it a list of around 10-12 packages, so I assume it was resolving all in parallel and hit rate limits before anything got installed.

Also for what it's worth, within GitHub Actions using the supplied GITHUB_TOKEN secret, the limit is 1000 requests per hour per repo, rather than 5000 for personal access tokens.

https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#rate-limiting

Rate limits for requests from GitHub Actions

You can use the built-in GITHUB_TOKEN to authenticate requests in GitHub Actions workflows. [...]

When using GITHUB_TOKEN, the rate limit is 1,000 requests per hour per repository.

@NobodyXu
Copy link
Member Author

Also for what it's worth, within GitHub Actions using the supplied GITHUB_TOKEN secret, the limit is 1000 requests per hour per repo, rather than 5000 for personal access tokens.

Thanks for correction!

@NobodyXu
Copy link
Member Author

NobodyXu commented Feb 25, 2023

I'm really looking forward for this to be merged. My first attempt at using binstall yielded 429 rate limit errors pretty much right away making it unusable. Though I had passed it a list of around 10-12 packages, so I assume it was resolving all in parallel and hit rate limits before anything got installed.

@jimeh Can you try out this PR and see if it fixes the problem for you w/out the GITHUB_TOKEN?

@jimeh
Copy link

jimeh commented Feb 26, 2023

@NobodyXu I've tried it first without a GITHUB_TOKEN env var, and I managed to install 4 packages before I hit rate API rate limits. Which is definitely an improvement over zero.

However adding the GITHUB_TOKEN env var again made it work just fine again :)

@jimeh
Copy link

jimeh commented Feb 26, 2023

I've ran into some excessive requests issues still with both cargo-audit and cargo-info packages, error log is below.

Other packages I've installed without issue are exa, bat, rtx-cli, du-dust, cargo-edit, cargo-update.

Error output:
$ cargo binstall cargo-audit --force
 INFO resolve: Resolving package: 'cargo-audit'
 INFO HEAD on https://github.com/cargo-bins/cargo-quickinstall/releases/download/cargo-audit-0.17.4-universal-apple-darwin/cargo-audit-0.17.4-universal-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://warehouse-clerk-tmp.vercel.app/api/crate/cargo-audit-0.17.4-universal-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-v0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-v0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-v0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-v0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin-0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin-0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin-0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-universal-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-x86_64-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-universal-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-universal-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-universal-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-0.17.4-universal-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-universal-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-universal-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-universal-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-universal-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-universal-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-x86_64-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-0.17.4-universal-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-v0.17.4-universal-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-universal-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-v0.17.4-universal-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_v0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_v0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_v0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_v0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_x86_64-apple-darwin_0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_universal-apple-darwin_0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_0.17.4.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_0.17.4.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_0.17.4.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_0.17.4.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_0.17.4.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_universal-apple-darwin_0.17.4 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_universal-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_universal-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_universal-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_universal-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_universal-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_universal-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_universal-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_universal-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_universal-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_universal-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_0.17.4_universal-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_v0.17.4_universal-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_0.17.4_x86_64-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_x86_64-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-x86_64-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_universal-apple-darwin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin.tgz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin.txz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin.tar.xz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin.tar.gz is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin.tzst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin.zip is not allowed, fallback to GET
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin.tzstd is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit_v0.17.4_universal-apple-darwin.tzstd is not allowed, fallback to GET
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin.tar.zst is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin.zip is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin.bin is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin.bin is not allowed, fallback to GET
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin.exe is not allowed, fallback to GET
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit-universal-apple-darwin is not allowed, fallback to GET
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin.tar is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin is not allowed, fallback to GET
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-x86_64-apple-darwin.exe is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin.tar is not allowed, fallback to GET
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin.tbz2 is not allowed, fallback to GET
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin.tgz is not allowed, fallback to GET
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/v0.17.4/cargo-audit-universal-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO HEAD on https://github.com/RustSec/rustsec/tree/main/cargo-audit/releases/download/0.17.4/cargo-audit_x86_64-apple-darwin.tar.bz2 is not allowed, fallback to GET
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
 INFO Receiver status code 429 Too Many Requests, will wait for 60s and retry
[...]

@NobodyXu
Copy link
Member Author

@jimeh Thank you for testing this out!
It's good to hear that this PR is improving the status quo.

I managed to install 4 packages before I hit rate API rate limits.

According to my knowledge, GitHub Restful API rate limit for unauthorized users are 60 requests per hour per originating IP address.

Installing 4 packages should not hit the rate limit, can you re-run that with --log-level debug or environment variable export BINSTALL_LOG_LEVEL=debug and provides me with the log please?

I've ran into some excessive requests issues still with both cargo-audit and cargo-info packages, error log is below.

Can you include the debug log as I said above please?
Info log alone isn't very useful for debugging, thanks.

@jimeh
Copy link

jimeh commented Feb 27, 2023

@NobodyXu I've re-run the tests with debug logging on. This time I didn't manage to get any 429 errors this time via packages that installed successfully. All without a GITHUB_TOKEN set, I installed:

  • bat
  • cargo-edit
  • cargo-update
  • dirstat-rs
  • du-dust
  • exa
  • fd-find
  • gitui
  • rtx-cli
  • starship

cargo-audit and cargo-info are still failing with 429 errors, after making a lot of requests.

I've attached all the logs below.

Installs that fail with 429 errors:

Installs that succeeded:

@NobodyXu
Copy link
Member Author

@jimeh Thanks, I am investigating this.

For cargo-audit, this is because the package.repository they specified is just wrong: It includes tree/main which means we cannot use GitHub Restful API.

Also, the release tag for cargo-audit is different since it also includes the binary name, so for it to work, cargo-audit must manually override profile.binstall.

There's a lot of 429, which is probably because we use HEAD to check the url for existence for, then fallbacking to GET.
If we just use GET for checking existence, this could avoid a lot of requests.

@NobodyXu
Copy link
Member Author

cargo-info is hosted on GitLab and it doesn't have any release artifact.
Adding a Restful API for GitLab is possible but I read that it requires a token to access it.

Asides from that, the usual HEAD/GET mess also applies here.

@NobodyXu NobodyXu force-pushed the add-gh-api-client-for-speedup branch from a5e894d to 678e00a Compare February 28, 2023 00:57
@NobodyXu
Copy link
Member Author

Aaaa the GitLab e2e test has failed again due to GitLab deleting my account and my repository.
Never seen a repo hosting service that does this before, I will disable that e2e test anyway.

@jimeh
Copy link

jimeh commented Feb 28, 2023

@NobodyXu potentially a dumb question, but may the GraphQL be of any use? I haven't yet gotten around to playing with it myself, so I'm just guessing.

Rate limits do work very differently though compared to the REST API: https://docs.github.com/en/graphql/overview/resource-limitations

NobodyXu added 16 commits March 1, 2023 15:15
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
only if it passes all checks.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
which seems to cause CI on windows to fail to get the correct
GITHUB_TOKEN.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
@NobodyXu NobodyXu force-pushed the add-gh-api-client-for-speedup branch from 38d020c to ef1bf76 Compare March 1, 2023 04:15
@NobodyXu
Copy link
Member Author

NobodyXu commented Mar 1, 2023

According to my knowledge, GitHub Restful API rate limit for unauthorized users are 60 requests per hour per originating IP address.

Aha I understand now why @jimeh you are hitting the limit.
During auto discovery mode, we will also generate two tags to check: { version } and v{ version }, so we hit the GitHub Restful API twice.

We could use the Restful API list releases but it won't give us any speedup since there will only be two Restful API call anyway.

Copy link
Member

@passcod passcod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM in general

.github/workflows/ci.yml Outdated Show resolved Hide resolved
@passcod
Copy link
Member

passcod commented Mar 2, 2023

One thing we could do (in follow up) is to use github tokens from well-known places like github tools' configuration files:

  • ~/.config/gh/hosts.yml
  • ~/.config/hub

that kind of thing.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
@NobodyXu NobodyXu requested a review from passcod March 2, 2023 00:35
@NobodyXu NobodyXu merged commit 599bcaf into main Mar 2, 2023
@NobodyXu NobodyXu deleted the add-gh-api-client-for-speedup branch March 2, 2023 01:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Speedup resolution process
4 participants