The circleCI config clones the repo in a GOPATH structured tree. This is not needed now as we are using module mode, and it is enabled by default in 1.13 when a go.mod is present.
We can do this in an incremental manner:
As a baby step, we can start by slowly removing the "src/github.com/mattermost/" paths to be just "mattermost/" in the circleCI config.
And then specify a GOBIN path for all binary installations, which is mainly required in the build and package steps. It mostly copies binaries from GOPATH/bin to DIST_PATH/bin. So GOBIN can be a bin folder inside the repo root itself. That can also be used for tools installation when https://github.com/mattermost/mattermost-server/issues/13088 gets done.
Finally, we would need to remove all setters of GOPATH = "/go" from Jenkinsfile.pr to get rid of the GOPATH once and for all.
That should be mostly it.
Thanks, appreciate your feedback,
Would you like to contribute this in the feature idea forum so it can be discussed, upvoted and considered for a help wanted ticket?
Please include a link back to this GitHub issue. If you're interested in implementing, please say so and we'll prioritize the review.
Thanks @amyblais. The feature idea forum seems to be for features which people want to see, and therefore upvote them. This issue is more of a cleanup type and invisible to the users. I wouldn't categorize it as a feature request. I posted a similar issue which was discussed on Github itself.
@agnivade Would you be interesting in working on 1. for now?
Sure :+1:
From conversation with @metanerd, there are no plans to bring back Jenkins in our CI (non-master) workflow. Therefore, closing this.
Most helpful comment
Thanks @amyblais. The feature idea forum seems to be for features which people want to see, and therefore upvote them. This issue is more of a cleanup type and invisible to the users. I wouldn't categorize it as a feature request. I posted a similar issue which was discussed on Github itself.