Which build system do you use?

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

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • 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.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • 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