We can run our own Go module proxy and configure godocs.io to use it, or we can add write support to the Go module cache backend and configure godocs.io to use that (it is currently read-only). Running our own module proxy might be easier. Either way we might want to avoid storing source code indefinitely, so we may need a way to eventually delete the source code for old modules.
Adnan Maolood referenced this ticket in commit bd2e278.
This can be closed now.
It seems like this is no longer an issue.
A proposal to improve the go/doc package has been accepted: https://github.com/golang/go/issues/51082
When it is implemented we should rewrite our code to take advantage of the new go/doc/comment package, which can simplify the way we render documentation comments.
When we fail to build a package, we should set an error flag and store the error message(s) in the database. We may also want to present the errors to the user in the frontend, or at least indicate that the package failed to build.
Perhaps [0...] should not have a length of at least 1? It could mean 0 or more zeroes.