Mattermost-server: Move CI away from GOPATH mode to module mode

Created on 16 Nov 2019  路  5Comments  路  Source: mattermost/mattermost-server

Summary

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:

  1. As a baby step, we can start by slowly removing the "src/github.com/mattermost/" paths to be just "mattermost/" in the circleCI config.

  2. 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.

  3. 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.

AreTechnical Debt Medium Help Wanted PR Exists TecAutomation

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.

All 5 comments

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.

Was this page helpful?
0 / 5 - 0 ratings