==== 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):
- 1.15 was released almost 4 years go. Should we update it?
- device, page, media, editor and edit are using Go 1.15 but geo is using 1.19 (If I'm not wrong due to a specific library we needed here)
- 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 w
[] We have made needed changes in all services (a separate task is available per service)
==== Notes
- dependencies per service:
- [[https://gerrit.wikimedia.org/r/plugins/gitiles/generated-data-platform/aqs/device-analytics/+/refs/heads/main/go.mod|device-analytics]]
- [[https://gerrit.wikimedia.org/r/plugins/gitiles/generated-data-platform/aqs/page-analytics/+/refs/heads/main/go.mod|page-analytics]]
- [[https://gerrit.wikimedia.org/r/plugins/gitiles/generated-data-platform/aqs/media-analytics/+/refs/heads/main/go.mod|media-analytics]]
- [[https://gerrit.wikimedia.org/r/plugins/gitiles/generated-data-platform/aqs/geo-analytics/+/refs/heads/main/go.mod|geo-analytics]]
- [[https://gerrit.wikimedia.org/r/plugins/gitiles/generated-data-platform/aqs/edit-analytics/+/refs/heads/main/go.mod|edit-analytics]]
- [[https://gerrit.wikimedia.org/r/plugins/gitiles/generated-data-platform/aqs/editor-analytics/+/refs/heads/main/go.mod|editor-analytics]]
- According to the `blubber.yaml` file, it seems we are using Go 1.19 in production (`base: docker-registry.wikimedia.org/golang1.19:latest`)
- //Minor releases to address problems (including security issues) for Go 1.x stop once Go 1.x+2 is released// (extracted from https://go.dev/wiki/Go-Release-Cycle)