rust-cache
cargo-semver-checks
rust-cache | cargo-semver-checks | |
---|---|---|
6 | 18 | |
1,157 | 931 | |
- | - | |
7.3 | 9.4 | |
11 days ago | 3 days ago | |
TypeScript | Rust | |
GNU Lesser General Public License v3.0 only | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rust-cache
-
cargo cache in docker rust:latest
In Github Actions we use swatinem/rust-cache. They have a pretty good explanation of what they are doing, and if that's not enough you can have a look at what the code is doing
-
cargo-semver-checks v0.18.0: rustdoc caching, new lints & more
Out of curiosity, does this play well with the Swatinem/rust-cache action? To improve CI cache performance, it's good practice to cache only dependencies' artifacts, and this action as such automatically cleans out the workspace local artifacts before populating the cache.
-
actions-rs Github Actions need more maintainers!!! OR to be replaced
I've migrated to https://github.com/dtolnay/rust-toolchain for managing rustup, and https://github.com/Swatinem/rust-cache for caching
-
GitHub Actions best practices for Rust projects
I'd also like to drop a recommendation to use https://github.com/Swatinem/rust-cache for caching cargo-related artifacts. I found it to be extremely pleasant to use and very easy to integrate into my CI pipelines.
-
How should I go about making Rust workflows go faster with CI's with GitHub Actions? Are there any cache actions for Rust or a place I could look for general optimizations?
There is an awesome github actions plugin that configures caching for `~/.cargo` and `target/`: https://github.com/Swatinem/rust-cache
-
Looking for guidance/review on my first library: stroke-rs
Really cool! A few ideas: - cargo publish it! It'd be good to set the license, description, repository, and readme fields in Cargo.toml. - Your lib.rs looks good - clean & simply exporting types. - You could consider exporting Point/PointN at your library root (e.g. pub use them in lib.rs). If you expect a type will pretty much always be used, it's nice to export it at the root. It also makes those types easier to find on docs.rs. - There is a nifty github actions plugin that caches the crates.io registry, and your dependencies: https://github.com/Swatinem/rust-cache.
cargo-semver-checks
-
Semver violations are common, better tooling is the answer
If you'd like to dig deeper, here are some links:
- cargo-semver-checks: https://github.com/obi1kenobi/cargo-semver-checks
- Trustfall query engine, which powers cargo-semver-checks: https://github.com/obi1kenobi/trustfall
- Trustfall playground, where you can query Rust library APIs in your browser -- for example, "which structs in `itertools` are importable by more than one path": https://play.predr.ag/rustdoc#?f=2&q=*3-Structs-importable-f...
- 10min conference talk on Trustfall: https://www.hytradboi.com/2022/how-to-query-almost-everythin...
I'm also giving a talk at P99 CONF in a few months about how Trustfall's new optimizations API made cargo-semver-checks over 2300x faster: https://twitter.com/PredragGruevski/status/16893002495908003...
- Cargo-semver-checks: Scan your Rust crate for semver violations
- cargo-semver-checks v0.20 and Trustfall v0.4 released โ semver-check up to 2354x faster
-
err-as-you-go crate - anyhow meets thiserror
I strongly recommend that anybody creating new error types for public APIs read Study of std::io::Error by u/matklad to see some ways that error types can [need to] be future-proofed. I don't know if cargo-semver-checks can catch these issues when they're generated by a macro, but it'd be something people using this crate should carefully look into.
-
Re-exporting an enum with a type alias is breaking, but not major
cargo-semver-checks will implement a check for cases like this, and many other hazards like it. The check will be major, or minor, or just a hazard โ whatever the overall community decides is right.
-
cargo-semver-checks v0.18.0: rustdoc caching, new lints & more
Full release notes: https://github.com/obi1kenobi/cargo-semver-checks/releases/tag/v0.18.0
-
cargo-semver-checks v0.17 is out: correct re-export handling
Release notes, TL;DR: Rust 1.65+ only, no more false positives due to moved+re-exported items.
- Semver implications of `#[non_exhaustive]` behavior on tuple/unit enum variants ยท Issue #304 ยท obi1kenobi/cargo-semver-checks
What are some alternatives?
sccache - Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various cloud storage options, or alternatively, in local storage.
octosql-plugin-postgres
bors-ng - ๐ A merge bot for GitHub Pull Requests
ddl-diff - Generates SQL migrations by parsing and diffing DDL
toolchain - ๐ ๏ธ GitHub Action for `rustup` commands
octosql-plugin-random_data - OctoSQL plugin serving random data
rust-toolchain - Concise GitHub Action for installing a Rust toolchain
prql-query - Query and transform data with PRQL
audit-check - ๐ก๏ธ GitHub Action for security audits
argfile - Load additional CLI args from file
cargo-deny-action - โ GitHub Action for cargo-deny ๐ฆ
go-sqlite3-stdlib - A standard library for mattn/go-sqlite3 including best-effort date parsing, url parsing, math/string functions, and stats aggregation functions