See our Go documentation for general setup considerations.
In particular, be sure to add the following to your ~/.profile
, or other shell rc script to ensure that you don't
encounter problems running go get
to fetch private dependencies:
export GOPRIVATE="github.com/ValiMail/*"
Then, continue with the following steps:
All commands in setup instructions are relative to the root of this repo!
brew cask install docker
brew install gimme cloc docker circleci
# Activate the Go version for this project -- do this in ALL TERMINAL WINDOWS
# in which you want to work on this project!
eval "$(gimme 1.13.3)"
# Install tools that are needed for both development and CI:
make prepare_workstation
# Update tools that are needed for both development and CI:
make update_workstation
# Make sure Docker is running, then run the CI process locally:
circleci build
# See what other things you have available:
make
# Note that `dep` is not folded into various make tasks! It's up to you to use it as appropriate.
You may find it of value to look for editor-specific plugins to integrate with:
Also, if your editor's build system defaults to running make
, you'll need to change it to run
make build
, as make
with no task just shows the available tasks.
You should set up an appropriate EditorConfig plugin for your editor, as well!
# Activate the Go version for this project -- do this in ALL TERMINAL WINDOWS
# in which you want to work on this project!
eval "$(gimme 1.13.3)"
# See what targets are available:
make
# Run tests in a one-off manner, with race detection and coverage/profiling:
make test
# Run go test directly:
go test ./...
# Run all sorts of lint checks:
make lint -j 8
# Format / tidy your code:
make fmt
# Continuous testing:
goconvey