cargo-release
cargo-update
Our great sponsors
cargo-release | cargo-update | |
---|---|---|
11 | 11 | |
1,244 | 1,126 | |
2.3% | - | |
9.1 | 6.6 | |
12 days ago | about 1 month ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
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
cargo-update
-
Zellij 0.35.1 brings stacked panes to your terminal
Personally, I like cargo-update
- Segfault on network request in Alpine
-
Rust 1.66
Speaking of cargo remove, see also cargo-edit [0] from which adding and removing originally came, as well as cargo-binstall [1] which installs binaries rather than compiling from source every time. The binaries are updatable with cargo-update [2].
The latter two can replace a package manager for Rust related utilities, as I often find that those in OS package repositories are often not as up to date as directly from cargo.
[0] https://github.com/killercup/cargo-edit
[1] https://github.com/cargo-bins/cargo-binstall
[2] https://github.com/nabijaczleweli/cargo-update
-
`cargo audit` can now scan compiled binaries
Would be nice if this worked with cargo-update somehow.
-
Hey Rustaceans! Got a question? Ask here! (26/2022)!
There is cargo install-update plugin: https://github.com/nabijaczleweli/cargo-update
-
go-global-update - the missing command for updating globally installed go executables
I didn't find any command or package to update those packages, and given that npm has npm -g update and cargo has cargo install-update, I decided to create go-global-update for go.
- cargo-update - A cargo subcommand for checking and applying updates to installed executables
-
I just realised Monday is now my favourite day of the week, because in my timezone it’s the day new rust-analyzer releases come out!
rust-analyzer isn't a rust component (like rust-src, etc. which will update with rustup update), nor a cargo binary (where you could use cargo install-update - https://github.com/nabijaczleweli/cargo-update ).
-
Git-cliff: generate changelog files from the Git history
I initially was interested in Rust because of performance + speed + safety, but now I have to say that cargo is a big selling point for me.
I always used to be scared of compiling software myself because I never seemed to be able to get it to work without endless headaches. Now, I generally find it easy to compile Rust programs if they aren't in my package manager, and with cargo install-update https://github.com/nabijaczleweli/cargo-update I find it easy to keep the software up to date. I have higher confidence that I can get hobbyist Rust software working, and the more Rust software I use, the more familiar I am with the ecosystem and the more comfortable I am.
If this was written in some obscure language I wasn't familiar with, I'd be less confident I would be able to run it at all, let alone keep it updated, and I may not bother even trying to install it.
-
DoorDash: Migrating From Python to Kotlin for Our Backend Services
So while it may take a while for some, it's already absolutely fine for me to compile my projects in a few seconds or a minute. I install all my related tooling via cargo install and update it via cargo install-update -a ( https://github.com/nabijaczleweli/cargo-update ) so I frequently/daily build different Rust projects and I'm quite ok with the compilation times.
What are some alternatives?
Rustup - The Rust toolchain installer
Clippy - A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/
just - 🤖 Just a command runner
cargo-make - Rust task runner and build tool.
cargo-deb - A cargo subcommand that generates Debian packages from information in Cargo.toml
cargo-ebuild - cargo extension that can generate ebuilds using the in-tree eclasses
crate-deps
cargo-modules - Visualize/analyze a Rust crate's internal structure
git-cliff - A highly customizable Changelog Generator that follows Conventional Commit specifications ⛰️