-
Install Go (Go 1.22 or later)
-
go install github.com/hexdigest/gowrap/cmd/gowrap@latest -
Clone this repo via
git clone https://github.com/brave-intl/bat-go -
Build via
make
Consider adding a pre-commit hook
-
Use your favorite editor to open
.git/hooks/pre-commit -
Add the following contents
make test lint -
Make the executable runnable by executing
chmod +x .git/hooks/pre-commit -
Commit away!
Ensure docker and docker-compose are installed.
Ensure that your .env file is populated with values for each of the
env vars that does not have a default in docker-compose.yml.
To bring up a prod-like environment, run docker-compose up -d.
To bring up a dev environment, run make docker-dev.
This brings up an additional vault service, used for integration testing of some auxiliary binaries.
You can run all the unit and integration tests by setting the env TEST_TAGS=integration(see .env.example file for example) and running make docker-test
make docker-dev
Services are split up for testing:
cd /src/services/payments ; go test --tags=integration -v
For example in promotion you can run specific tests by running a command similar to go test --tags=integration -run TestControllersTestSuite/TestCreateOrder.
You can build a docker image without installing the go toolchain. Ensure docker
is installed then run make docker.
make mock