Which build system do you use?

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/golang

Our great sponsors
  • InfluxDB - Access the most powerful time series database as a service
  • SaaSHub - Software Alternatives and Reviews
  • Task

    A task runner / simpler Make alternative written in Go

    I prefer taskfile written in Go that works like Make but mainly when I'm working with Gocode or Nodejs

  • tailscale

    The easiest, most secure way to use WireGuard and 2FA.

    For Nix, you can still use Docker with it. It's a nice-to-have if you have an engineering team, and you want a consistent way of working that doesn't involve possibly playing with multiple different Dockerfiles (e.g. one for local dev, one for production, etc) which may require their own arguments, and commands. https://github.com/tailscale/tailscale is a good project example using Nix, but not requiring Nix.

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • Bazel

    a fast, scalable, multi-language and extensible build system

    - If you can't use 1 or 2, I recommend using bazel (https://bazel.build/) family build system. It's more or less what Google uses internally, and it has great support for multilanguage development.

  • argo

    Workflow engine for Kubernetes

    go-git has a lot of bugs and is not actively maintained. The bug even affects Argo Workflow, which caused our data pipeline to fail unexpectedly (reference: https://github.com/argoproj/argo-workflows/issues/10091)

  • gomake

    A make alternative with yaml and go template syntax (like helm)

    I will present it later also in a own thread but It match to the question. Begin of the year I written a makefile alternative. Feels like a mix of helm (gotemplates) and gitlabci.yml https://github.com/fasibio/gomake Feel free...

  • kubernetes

    Production-Grade Container Scheduling and Management

    As another data point, k8s used to rely on Bazel to get hermetic builds and distributed build caching in CI. Though go toolchain became better over time and it was dropped in 2020. There is interesting discussion with pros and cons in https://github.com/kubernetes/kubernetes/issues/88553

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