use golangci/golangci-lint-action instead of reviewdog/action-golangci-lint as the second was not reporting any failures even if there was some.
Report code coverage with codecov/codecov-action
I have set some flags per dialect and go version
Several linters has been fixed, some disabled so the build can pass
* Change NameReplacer to an interface, allowing custom Replacers.
* Add NoLowerCase option to skip the snake_casing of names.
* Move sync.Map from global variable into member of NamingStrategy.
This maintains backward compatibility by making the smap optional - the
NamingStrategy still works if it is nil. gorm.Open activates it by
calling Init() if the given Namer is a schema.NamingStrategy.
Also, this changes the key stored in the smap to be the original name,
instead of the replaced name.
* Refactor NamingStrategy tests to add more assertions about how and when Replacers get called.
* Remove the name cache from NamingStrategy.