* chore(lint): Update local make lint to match CI
This updates the `make lint` behavior to match the command being
run in CI.
In addition, we refactor the make lint command to use docker in order to
to ease cross platform install, use a local build cache that integrates
with make clean, use the same version file, and encapsulate the logic in
its own make include.
We also remove the old lint logic as to not introduce a duplicate target
and avoid confusion from a difference in behavior.
While solutions like act for running github actions locally work, it is
not as straightfoward, is slower, and uses the local git repository
instead of a clone (though I am not sure how the checkout step works
within act).
* fix(lint): Use shared timeout with .golangci.yml
Instead of using a local and different timeout in the lint makefile
target we can rely on golangci to load this configuration from
.golangci.yml instead and share this setting with CI.
* fix(lint): Fix golangci-lint cache mount path
This uses the correct cache dir default of ~/.cache enabling use
of cache between lint calls.
* fix(lint): Fix lint caching
This includes a couple fixes - 1) It adds support for full caching of go
mod and go build, speeding up the lint process quite a bit. And 2) does
not mix lint cache with make clean files -- the docker container creates
root owned files that cause make clean to error and we choose not to
require make clean to run with higher permissions. The cache must be
deleted manually.
* start makefile refactor to smaller units; break out proto-dep updating;
add check-proto-deps target for use in CI in order to determine if
depdencies have diverged
* add proto check workflow
* download go modules before checking proto deps
* clean up -- hide output and add error message for check target
* add error message for check-rsync
* update any type, and ibc-go protos for v3.4.0
* add buf generate files for gogo, docs, and swagger
* update swagger dirs and run with latest swagger gen
* ignore new build directories
* refactor proto makefile logic -- use buf instead of scripts
* remove old protobuf scripts
* run all proto checks on push
* remove moved file
* set default value for protoc machine
* install build deps seperately
* fetch master for buf check breaking
* checkout from https url in CI for buf breaking
* fix rsync file permissions on darwin
* ignore build dirs
* fix issue with apple provided make; clean up build deps; switch to buf
format
* remove clang format file -- using buf format now
* run make proto-format (buf format changes)
* update generated files for proto format changes
* add initial auction migration from Levi's work
* reserve bid_duration field name as well
* refactor auction specifc migration code to legacy v0_17 pkg
* Add auction migration specific test. Delete v016 migration files. Add makefile target for running migration tests.
Co-authored-by: galxy25 <levismschoen@gmail.com>