Remove vendor directory
Overview
GitLab Runner is now using Go 1.13 with modules enabled. We also have the vendor
directory committed to source code, which is the "old" way of handing dependencies during the build time. We already have some jobs doing this such as rpm package signing by accident because they ignore the vendor
directory. We should remove the vendor
directory completely and rely on go modules to solve everything during the build time. We already have some projects doing this such as GitLab Pages, GitLab Workhosre.
We don't have to worry about a package being deleted off GitHub since we are using Google's GOPROXY by default.
Also AFAIK the vendor
directory is only checked when the project is inside of a GOPATH that is why jobs like rpm package signing, we also would need to update our build commands to explicitly use the vendor directory https://www.reddit.com/r/golang/comments/9ai79z/correct_usage_of_go_modules_vendor_still_connects/.
Benefits
- Follow Go best practices
- Less cruft in source code
- We wouldn't have to keep ignoring
vendor
directory for scripts such asgo list