Page MenuHomePhabricator

Clean and unify dependencies and Go version for all services
Open, Needs TriagePublic

Description

Background

At this moment we have six micro-services working fine but there is no unifying regarding which version of common dependencies we use per service and even the Go version we use for all of them. We should use the same version for all dependencies and the same Go version for all services.

For example (this is not a comprehensive list):

  • according to the base image we use, we are using go 1.19 and 1.21 is already available in the wikimedia docker registry
  • the minimum go version for device, page, media, editor and edit is 1.15 and 1.19 for geo (If I'm not wrong this is due to a specific library we needed here). Should we unify this?
  • geo has a deprecated dependency (github.com/golang/protobuf)
  • some services are using github.com/gorilla/mux 1.8.0 but others are using 1.7.4
  • In some services (edit-analytics, for example) we are using a deprecated function ioutil.ReadFile in the api_spec_handler.go file
Acceptance criteria
  • We have decided which version we are going to use for all dependencies included in all services (would we need some criteria to keep updated all these dependencies?)
  • We have decided an specific Go version for all services (and we have decided how to keep it updated)
  • We have made needed changes in all services (a separate task is available per service)
Notes