Our great sponsors
-
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.
I prefer taskfile written in Go that works like Make but mainly when I'm working with Gocode or Nodejs
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.
- 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.
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)
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...
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