-
Task
-
Resolution: Done
-
Minor
-
None
-
None
-
HMSIDM Sprint 22
-
5
Goal:
- As a developer I want to pin golang tools required by the repository without a specific 'make install-<tool>' rule that meet with.
Acceptance Criteria:
- I can pin the versions in a go.mod file.
This provide a better way to keep the version of the tools in a central location. - I can install all the tools by 'GOBIN=./bin go install github.com/hmsidm/idm-domains-backend/tools'.
This will simplify the make rules, and it will remove many rules of the type 'install-<mytool>'. - The pipeline cache the go tools improving the build time when the cache is not dirty or expired.
This mechanism make more simple to cache the go tool dependencies in github and gitlab by using caches in the pipeline.
Additional Information:
- Example at: https://github.com/vektra/mockery/tree/master/tools
- Article 'Managing your Go tools versions with go.mod and tools.go' at: https://www.jvt.me/posts/2022/06/15/go-tools-dependency-management/