Pulling this discussion into here so we don't get too far off topic in @rargulati's PR.
Quick breakdown from #26 :
@mhluongo:
Am I the only one who wants to use the Docker build in place of eg make? It's already standardized and having two build systems seems strange.
@pschlump:
I have used both. IMHO it is much harder to get docker do do simple
tasks. Before we are done we should create a Docker base build because it
captures all the dependencies and is fully reproducible.
@mhluongo:
Agreed that make is simpler, but we already have a Dockerfile and are using it to do CI and (eventually) reproducible builds- why would we maintain two? It'd lead to some people updating the Makefile and others updating the Dockerfile, I expect.
@Shadowfiend:
I don't consider docker build a build system for our application, I consider it the bit that sets up our docker image. The Dockerfile should just run make IMO.
I see make as answering “how do we build our project”.
I see docker as answering one variation of “how do we distribute our project”.
@mhluongo:
... I get the appeal, I really do. But I've seen this show before. The Dockerfile needs to understand as much as a Makefile to properly cache, and we already have all make-like functionality we need in CircleCI. Using both will lead to a dual build system.
🙏 spend a little time cozying up with Docker and CircleCI before we pull the trigger on adding make to the mix.
@Shadowfiend:
to properly cache
Can you explain some more about this/point to relevant docs? Not sure I follow.
@keep-network/go
Pulling this discussion into here so we don't get too far off topic in @rargulati's PR.
Quick breakdown from #26 :
@mhluongo:
@pschlump:
@mhluongo:
@Shadowfiend:
@mhluongo:
@Shadowfiend:
@keep-network/go