🎁 cargo-fetcher

Build Status Crates.io Docs Contributor Covenant Embark

Alternative to cargo fetch for use in CI or other "clean" environments that you want to quickly bootstrap with the necessary crates to compile/test etc your project(s).

Why?

Why not?

Features

gcs

The gcs feature enables the use of Google Cloud Storage as a backend.

s3

The s3 feature enables the use of Amazon S3 as a backend.

fs

The fs feature enables use of a folder on a local disk to store crates to and fetch crates from.

Examples

This is an example from our CI for an internal project.

Dependencies

Scenario

The following CI jobs are run in parallel, each in a Kubernetes Job running on GKE. The container base is roughly the same as the official rust:1.39.0-slim image.

~ wait for all jobs to finish ~

Before

All 3 build jobs take around 1m2s each to do cargo fetch --target x86_64-unknown-linux-gnu

After

All 3 build jobs take 3-4s each to do cargo fetcher --include-index mirror followed by 5-7s to do cargo fetch --target x86_64-unknown-linux-gnu.

Contributing

We welcome community contributions to this project.

Please read our Contributor Guide for more information on how to get started.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.