cargo-release
nextest
cargo-release | nextest | |
---|---|---|
11 | 16 | |
1,245 | 1,954 | |
1.2% | 2.1% | |
9.1 | 9.8 | |
2 days ago | 2 days ago | |
Rust | Rust | |
Apache License 2.0 | 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.
cargo-release
-
Changelog-Driven Releases
My problem with maintaining a changelog during development is it can serve as a source of merge conflicts. Instead, I follow Covnentional Commit style and manually write my changelog entries based on the commits. I have a tool [0] that can show me the relevant commits for a package in my repo and automates the entire release process, including doing sanity checks.
I also feel like releasing from CI is hard, especially if you have multiple packages in a repo [1], including
- You can't as easily introspect the process
- You can't as easily recover from failure
- Getting a lot of the nuance right, like handling releases concurrent to merging of PRs, is difficult
- When the workflow is an ever-present "release PR" that you merge when ready has issues with selecting which packages to release and at what version
I have been considering making a tool to generate changelogs from fragments. Been keeping notes at https://github.com/epage/epage.github.io/issues/23
[0]: https://github.com/crate-ci/cargo-release
[1]: https://github.com/MarcoIeni/release-plz/discussions/1019
-
Oxlint – written in Rust – 50-100 Times Faster than ESLint
You should combine step 1 and 2 with CI. Just tag a version in your git, push to remote and have CI auto build a release for you.
Use github actions or other setup for other backends.
Or go nuts with cargo-release.
https://github.com/crate-ci/cargo-release
https://github.com/cargo-bins/release-pr
-
Rust 2030 Christmas list: Subcrate dependencies
tools like cargo-release
-
`toml` vs `toml_edit` (ie `toml` 0.6 is out)
Just to check, are you aware of cargo-edit's cargo-set-version or cargo-release?
-
What's everyone working on this week (45/2022)?
I released my first crate that provides a derive macro to easily obtain a name of a current variant in an enum as a string. I did it mostly to learn about procedural macros and the process of releasing a crate. I then found out there is strum which does this and much more. Nonetheless, I learned a lot and I found couple of nice tools like ```cargo-release and git-cliff.
- cargo-release v0.22 is out!
-
A GitHub Action for creating "Release PRs" for Cargo projects.
I'll note there is an issue in the cargo-release repo where this kind of workflow is wanted. https://github.com/crate-ci/cargo-release/issues/119
-
[Gitoxide December Update]: a new object database and upcoming multi-pack index support
cargo-release is on about the same level of features used
-
cargo-release v0.19
cargo-release automates the release process for your crate. For example, with clap, all I do is add entries to the CHANGELOG and run cargo release patch and cargo-release takes care of updating files, publishing to crates.io, tagging, and pushing.
-
Introducing `cargo smart-release` - the new way to release workspace crates
Yes, developers from all three tools were sharing ideas with each other recently
nextest
-
Rust Tooling: 8 tools that will increase your productivity
cargo-nextest describes itself as a “next-generation Rust test runner”. To install, you need to run cargo install cargo-nextest.
-
My favourite Git commit (2019)
> On my work I make 1-15 commits a day. If I have to spend thought cycles on the commit message, that is time that goes from other productive endeavours.
I make roughly that many commits a day as well. If something's easy to understand I'll put in a simple commit message (e.g. [1]), but I do put in the effort for more complicated ones.
[1] https://github.com/nextest-rs/nextest/commit/efd194b2e1d8d61...
[2] https://github.com/oxidecomputer/omicron/commit/b07a8f593325...
-
Rust tech stack
If you need fancier testing than what's built into Rust, cargo-nextest is becoming quite popular.
-
Customizable testing framework
https://nexte.st/ is what is getting all the attention as a replacement test harness/framework these days.
-
Hey Rustaceans! Got a question? Ask here (11/2023)!
I believe cargo-nextest supports running separate binaries concurrently.
-
Fellow Rust enthusiasts: What "sucks" about Rust?
Do you already use nextest or something else? That really leans into test parallelism and sounds like a perfect fit for how you structure the tests.
- Альтернативний спосіб запускати тести
-
buffer-unordered-weighted: a variant of StreamExt::buffer_unordered where each future has a weight
I built it for cargo-nextest, in service of a new feature where some tests can be marked as heavier than others.
-
Small changes you can make in a rust codebase that have a significant impact
IMO 100% worth checking out: https://nexte.st/
-
Why does Rusts testing tools seem so much less polished compared to its other tooling?
For me, most of my needs are covered with next-test(https://nexte.st/), not that I have ever used any of the things you mentioned 😅
What are some alternatives?
Rustup - The Rust toolchain installer
cargo-limit - Productivity improvements for Rust ecosystem: warnings are skipped until errors are fixed, LSP-independent Neovim integration, etc.
just - 🤖 Just a command runner
cargo-deny - ❌ Cargo plugin for linting your dependencies 🦀
cargo-make - Rust task runner and build tool.
shadow-rs - A build-time information stored in your rust project.(binary,lib,cdylib,dylib)
Clippy - A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/
Cargo - The Rust package manager
cargo-ebuild - cargo extension that can generate ebuilds using the in-tree eclasses
TestNG - TestNG testing framework
cargo-modules - Visualize/analyze a Rust crate's internal structure
cargo-public-api - List and diff the public API of Rust library crates between releases and commits. Detect breaking API changes and semver violations via CI or a CLI.