Use multi-module to cleanup top level go.mod
Client: go
The go library itself does not have any third-party dependencies. We
have one third party dependency from the test code, which kind of
polluted from top-level go.mod file to the users of thrift go library.
We previous tried to clean that up by creating go.mod file at
lib/go/thrift, which caused issues to the release process and thus
reverted.
Use multi-module to separate tests requiring mock to their own modules
so that we can keep the top-level go.mod file clean.
Also some minor fixes on the github actions go workflow.
diff --git a/test/go/genmock.sh b/test/go/genmock.sh
index 9bd2a3c..687ce61 100644
--- a/test/go/genmock.sh
+++ b/test/go/genmock.sh
@@ -4,8 +4,8 @@
export GOPATH=$(mktemp -d -t gopath-XXXXXXXXXX)
-go install -mod=mod github.com/golang/mock/mockgen
+go install github.com/golang/mock/mockgen
-`go env GOPATH`/bin/mockgen -build_flags "-mod=mod" -destination=src/common/mock_handler.go -package=common github.com/apache/thrift/test/go/src/gen/thrifttest ThriftTest
+`go env GOPATH`/bin/mockgen -destination=src/common/mock_handler.go -package=common github.com/apache/thrift/test/go/src/gen/thrifttest ThriftTest
chmod a+w -R $GOPATH && rm -Rf $GOPATH