This doc is intended for contributors to Go SDK (hopefully that's you!)
Note: All contributors also need to fill out the Temporal Contributor License Agreement before we can merge in any of your changes
- Go Lang (minimum version required is 1.14):
- Install on OS X with
brew install go
. - Install on Ubuntu with
sudo apt install golang
.
- Install on OS X with
Temporal GO SDK uses go modules, there is no dependency on $GOPATH
variable. Clone the repo into the preffered location:
git clone https://github.com/temporalio/sdk-go.git
This project is Open Source Software, and requires a header at the beginning of all source files. To verify that all files contain the header execute:
make copyright
Overcommit adds some requirements to your commit messages. At Temporal, we follow the Chris Beams guide to writing git commit messages. Read it, follow it, learn it, love it.
All commit messages are from the titles of your pull requests. So make sure follow the rules when titling them. Please don't use very generic titles like "bug fixes".
All PR titles should start with Upper case.
Run all static analysis tools:
make check
Run all the tests (including integration tests, requiring you are running a server locally - see here with coverage and race detector enabled:
make test
To run just the unit tests:
make unit-test