mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-25 11:15:54 +03:00
[GH-ISSUE #1934] Explore replacing cargo-make with just #822
Labels
No labels
blocked
breaking-change
bug
bug:critical
bug:tests
cleanup
compliance
compliance
compliance
crate:all
crate:client
crate:native-tls
crate:proto
crate:recursor
crate:resolver
crate:resolver
crate:rustls
crate:server
crate:util
dependencies
docs
duplicate
easy
easy
enhance
enhance
enhance
feature:dns-over-https
feature:dns-over-quic
feature:dns-over-tls
feature:dnsssec
feature:global_lb
feature:mdns
feature:tsig
features:edns
has workaround
ops
perf
platform:WASM
platform:android
platform:fuchsia
platform:linux
platform:macos
platform:windows
pull-request
question
test
tools
tools
trust
unclear
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/hickory-dns#822
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @bluejekyll on GitHub (May 15, 2023).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/1934
Is your feature request related to a problem? Please describe.
Makefile.tomls have been somewhat hard to maintain. Recently publish has broken and requires a lot of changes.
Describe the solution you'd like
Replace with a simpler system based on
justfiles in combination withcargo-workspacesAdditional context
cargo-makehas provided a very valuable tool for the project in regards to executing operations across all crates in the project. This has improved test coverage, simplified integration with CI in github actions and other systems. This has made for reliable testing of the major features of the project easy to reproduce between CI and CLI. At the same time it is a system which works, but is difficult to understand. By moving to a simpler system, it should allow for more people to contribute to the project.@djc commented on GitHub (May 15, 2023):
In all of the other projects I help out with, we don't use anything else on top of Cargo itself. What (conceptually) have been the kind of things that you've felt the need for extra tooling? Maybe Cargo has matured since you first started the project and can now handle more stuff out of the box?
@bluejekyll commented on GitHub (May 15, 2023):
We have a lot of features in the project, that I've found difficult keeping working on their own without an easy way to reproduce the options to each crate to enable and disable them as necessary. I've found that keeping that in some script helps make things more consistent and doesn't require looking at CI scripts for identifying the options for what is failing.
cargo-make had done a great job of that so far. On top of that, publishing had been nicely handled before without missing any crates. So I'd like to get that feature set back. Other things that were encoded properly in there have been code-coverage execution and installation for various tools, like bind for compatibility testing or openssl on windows. Overall, there end up being a lot of things that are basic scripts, that Makefile, justfile, or Makefile.toml make maintaining that simpler IMO.
For users of the project, generally, standard cargo commands will just work without issue.