cargo-release
cargo-make
cargo-release | cargo-make | |
---|---|---|
11 | 28 | |
1,371 | 2,635 | |
1.3% | 1.2% | |
9.0 | 9.1 | |
17 days ago | 5 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
cargo-make
-
Static search trees: 40x faster than binary search
Well, I don't use makefiles to deploy software with Rust. I also have never used lex or yacc, but I bet there are similar tools in the ecosystem, or wrappers for those. That would obviate what I will offer below.
Often a new language in a project would define an application boundary. So those would be different containers or services. I may deploy via container images, or an OS specific installer, etc. If we aren't crossing an application boundary I may use FFI. Sometimes I use https://rust-lang.github.io/rust-bindgen/ to smooth that over for C dependencies. There is also a nice concept called a build.rs file: https://doc.rust-lang.org/cargo/reference/build-script-examp.... There's also tools like: https://github.com/casey/just and https://sagiegurari.github.io/cargo-make/
I rarely use multiple languages with Rust. A lot of interpreted languages have bindings through crates and can go in to a project through Cargo. If it involves JS/TS on desktop, I'm usually using Tauri for that. Guess it depends on the system?
Hopefully that helps. You can also still use a Makefile if you want I just haven't dealt with one in a long time.
- Makefiles for Web Work (2022)
-
Rust Tooling: 8 tools that will increase your productivity
cargo-make aims to be an extensive Rust-written task runner that additionally lets you define workflows to execute your tasks. You can install it using cargo install cargo-make.
- Cargo make: Rust task runner and build tool
-
Hey Rustaceans! Got a question? Ask here (49/2023)!
You might be interested in cargo-make, which is based on TOML, or Just, which has a syntax that is vaguely inspired by Make but much less weird sigils and more suited to non-file-based tasks.
-
Makefile equivalent in Rust ecosystem
I would like to rewrite this project in Rust, but I am not so familiar with Cargo as I am with Make. Is it possible to declare these kinds of rules and targets ? Should I use a build script, a custom tool like cargo-make or something else ? What do you think ?
-
Including a cargo command as a dev dependency
I use just myself, and I personally don't want projects' codebase to decide when something gets cargo installed on my system. For people who feel that's more acceptable, I'll note that cargo-make has first class support for the idea of expressing a task that depends on a cargo plugin:
-
Pain points using Rust for game dev ?
Thank you for the help, created ticket #787 and #788!
-
Just: A Command Runner
https://github.com/sagiegurari/cargo-make
I ended up using it over just because it felt easier to use cross platform, and toml seemed like a right choice
- Run python scripts before compilation using Cargo?
What are some alternatives?
just - 🤖 Just a command runner
Rustup - The Rust toolchain installer
cargo-benchcmp - A small utility to compare Rust micro-benchmarks.
cargo-modules - Visualize/analyze a Rust crate's internal structure
cargo-ebuild - cargo extension that can generate ebuilds using the in-tree eclasses
cargo-find
cargo-xtask
cargo-deb - A cargo subcommand that generates Debian packages from information in Cargo.toml
cargo-testify - Watches changes in a rust project, runs test and shows friendly notification
rst - The open source design documentation tool for everybody [Moved to: https://github.com/vitiral/artifact]