Update: things have changed, I no longer recommend this complicated approach. Use the athens proxy instead.
I’m still not a fan of gomod because it pulls the code from the repositories that exist that I don’t have control of. This means that someone can delete or change things and I won’t have a consistent copy to build with. In these slides https://go-talks.appspot.com/github.com/dherbst/go-lightning-build/go-lightning-build.slide I explain how we use
make to clone in from our own forks of the packages and then build them.
Alternatively, we’ve been exploring using
go get to get the files we need, and then saving the vendor files onto something like S3 or Google Cloud Storage. I’ll update the talk once I do that for one of the projects.