Release engineering is exhausting so here's cargo-dist

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
  1. cargo-dist

    📦 shippable application packaging

    Just to elaborate on this a bit: as discussed in the Concepts section of the docs[0] the core of cargo-dist absolutely supports workspaces with multiple binaries, and will chunk them out into their own distinct logical applications and provide builds/metadata for all them.

    However this isn't fully supported by the actual github CI integration yet[1], as I haven't implemented proper support for detecting that you're only trying to publish a new version of one of the applications (or none of them!), and it doesn't properly merge the release notes if you're trying to publish multiple ones at once.

    I never build workspaces like that so I'm waiting for someone who does to chime in with the behaviour they want (since there's lots of defensible choices and I only have so many waking hours to implement stuff).

    [0]: https://github.com/axodotdev/cargo-dist/#concepts

  2. InfluxDB

    InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.

    InfluxDB logo
  3. act

    Run your GitHub Actions locally 🚀

    Seconding this; act has a lot of potential but misses a number of features such as support for deployment environment variables (eg `${{ var.DEPLOY_SPECIFIC_ENV_VAR }}`) and only recently added support for reusable workflows (https://github.com/nektos/act/issues/826). It looks like fine software and the maintainers deserve praise for their work but it's not yet a drop-in replacement for GitHub Actions.

  4. cargo-install-favorites

    Use the `cargo` command install our favorite crates

    Awesome thank you. I'm adding it now to the awesome list here: https://github.com/sixarm/cargo-install-favorites

  5. sgr

    sgr (command line client for Splitgraph) and the splitgraph Python library

    I wrote up the details of this in a PR [0] where I last dealt with it.

    [0] https://github.com/splitgraph/sgr/pull/656

  6. goreleaser

    Release engineering, simplified

    i really enjoy goreleaser https://github.com/goreleaser/goreleaser/ and use it with rust https://github.com/chmouel/snazy/blob/main/.goreleaser.yaml#... combined with build matrix https://github.com/chmouel/snazy/blob/main/.github/workflows...

  7. snazy

    a snazzy json log viewer (with one z)

    i really enjoy goreleaser https://github.com/goreleaser/goreleaser/ and use it with rust https://github.com/chmouel/snazy/blob/main/.goreleaser.yaml#... combined with build matrix https://github.com/chmouel/snazy/blob/main/.github/workflows...

  8. release-plz

    Publish Rust crates from CI with a Release PR.

    How does this tool differ from release-plz?: https://github.com/marcoIeni/release-plz

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  10. ideas4

    Discontinued An Additional 100 Ideas for Computing https://samsquire.github.io/ideas4/

    Thanks for remembering me :-)

    I would like things to run locally by default and then deployed to the cloud where they run.

    Should be easier to debug problems if I can get the code to my machine and investigate issues with tools that my computer has such as "strace", "perf" and debug logging that I liberally apply to the build script.

    In production we would have log aggregation and log search (such as ELK stack) and it is a good habit to get into the perspective of debugging production via tooling.

    But CICD feels before that tooling in the pipeline. You could wire up your CICD to log to ELK but I would prefer local deployable software.

    I think my focus on automating things means I want to be capable of seeing how the thing works without relying on a deployed black box in the cloud and using assumptions of how it works rather than direct investigation.

    One of my journal entries is almost a lamentation of all the things that need to be done to release and use software.

    This is that entry:

    https://github.com/samsquire/ideas4#5-permanent-softwareplat...

    I wonder if software could be deployed more like a URL that has all the information to configure a virtual machine. Docker over URL or something.

  11. cargo-binstall

    Binary installation for rust projects

    If you happen to install a lot of things with cargo, check out cargo-binstall: https://github.com/cargo-bins/cargo-binstall

    It'll fetch the binary release from the repo so you don't have to compile it yourself.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • How to publish a Go package on Chocolatey

    2 projects | dev.to | 28 Sep 2024
  • Create a Custom GitHub Action in Rust

    3 projects | dev.to | 28 Apr 2024
  • FOSDEM 2024 - Summary and Reflections

    1 project | dev.to | 5 Feb 2024
  • goreleaser: Deliver Go binaries as fast and easily as possible

    1 project | /r/golang | 13 Sep 2023
  • Goreleaser

    1 project | news.ycombinator.com | 11 Sep 2023

Did you know that Rust is
the 5th most popular programming language
based on number of references?