This commit includes updates that affects the build, testing, and
deployment of Tile38.
- The root level build.sh has been broken up into multiple scripts
and placed in the "scripts" directory.
- The vendor directory has been updated to follow the Go modules
rules, thus `make` should work on isolated environments. Also
some vendored packages may have been updated to a later
version, if needed.
- The Makefile has been updated to allow for making single
binaries such as `make tile38-server`. There is some scaffolding
during the build process, so from now on all binaries should be
made using make. For example, to run a development version of
the tile38-cli binary, do this:
make tile38-cli && ./tile38-cli
not this:
go run cmd/tile38-cli/main.go
- Travis.CI docker push script has been updated to address a
change to Docker's JSON repo meta output, which in turn fixes
a bug where new Tile38 versions were not being properly pushed
to Docker
This PR contains:
* Automatic version detection by using git tags
* Fix for the Makefile (double package target)
* Enable Travis CI to build the Docker images and push to Docker Hub
The tile38-benchmark tool is a new addition to the Tile38 suite alongside
tile38-server and tile38-cli. It's modeled after redis-benchmark with
matching input flags and output formatting.
It tests the common commands PING, GET, SET, and NEARBY. More commands
may be added later.
(mention #54)