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

Properly index available rust versions #19

Closed
foresterre opened this issue Jan 11, 2020 · 3 comments
Closed

Properly index available rust versions #19

foresterre opened this issue Jan 11, 2020 · 3 comments

Comments

@foresterre
Copy link
Owner

foresterre commented Jan 11, 2020

We do something pretty dumb right now: simply take the minor versions and decrease it. But we do have all versions available, even ordered already, so instead we should be slightly smarter and first build and index of available versions, and then for each latests available minor version run the check.

@foresterre
Copy link
Owner Author

Options

  • Use https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md
    • Only stable versions
    • Should still check channel manifest for latest version, since the upcoming release may be included in RELEASES.md
  • Parse from (historical) channel manifests
    • Historical manifests indexed at: https://static.rust-lang.org/manifests.txt
    • Requires downloading, parsing and assembling a lot of smaller files to a create an index; depending on the connection speed, limiting, etc., the speed of this process may vary
  • Download S3 index
    • Manual: aws --no-sign-request s3 ls static-rust-lang-org/dist/ > dists.txt
    • Slow download, heavily rate limited, approx 45s currently
    • One big index

@foresterre
Copy link
Owner Author

foresterre commented Feb 10, 2021

Progress:

  • Ability to index stable, beta, nightly versions using second option (Parse from (historical) channel manifests)
  • Proof of concept repo: https://github.com/foresterre/manifesta
  • Downloading all indexes is severely rate limited (30-120sec for stable channel manifests), and the release manifests are sufficiently large that parsing them, even though we only need a small part takes a few seconds

@foresterre
Copy link
Owner Author

closed by #47

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

No branches or pull requests

1 participant