This comment has been minimized.

The current Dockerfile is already way too big. Putting every project task into a single image makes build tasks slow, and is hard to maintain. You can't really track which dependencies are used for which tasks. I really think we should be splitting the main Dockerfile into different ones for: build, linting, cross-build, docs (already done), and man pages.

The current Dockerfile is already way too big. Putting every project task into a single image makes build tasks slow, and is hard to maintain. You can't really track which dependencies are used for which tasks. I really think we should be splitting the main Dockerfile into different ones for: build, linting, cross-build, docs (already done), and man pages.

This comment has been minimized.

Probable in the future we could connect to a multi-arch Docker Swarm as build environment, so we could build the man pages in an amd64 container and the binaries natively on amd64/arm/ppc64le, and so on.

Probable in the future we could connect to a multi-arch Docker Swarm as build environment, so we could build the man pages in an amd64 container and the binaries natively on amd64/arm/ppc64le, and so on.

This comment has been minimized.

I really don't like downloading binaries like this. There should be autobuild or official containers with the prerequisites, with a clear way for people to build them for different architectures from source if we are going to have per architecture Dockerfiles.

I really don't like downloading binaries like this. There should be autobuild or official containers with the prerequisites, with a clear way for people to build them for different architectures from source if we are going to have per architecture Dockerfiles.

This comment has been minimized.

Ok, but we are talking about getting an upstream project to generate builds for eventually ppc64le, s390x, arm64, arm, and more... in order to build absolutely identical man pages. It really makes vendoring seem like a better option.

Ok, but we are talking about getting an upstream project to generate builds for eventually ppc64le, s390x, arm64, arm, and more... in order to build absolutely identical man pages. It really makes vendoring seem like a better option.

This comment has been minimized.

@dnephin
"I really think we should be splitting the main Dockerfile into different ones for: build, linting, cross-build, docs (already done), and man pages."
+1
Sometimes we need checkout source code and build binary, the building base image is like golang:1.6-alpine, but, the output binary just depends on alpine:xxx.

@dnephin
"I really think we should be splitting the main Dockerfile into different ones for: build, linting, cross-build, docs (already done), and man pages."
+1
Sometimes we need checkout source code and build binary, the building base image is like golang:1.6-alpine, but, the output binary just depends on alpine:xxx.