Getting started with gh-ost development is simple!
- First obtain the repository with
git cloneorgo get. - From inside of the repository run
script/cibuild. - This will bootstrap the environment if needed, format the code, build the code, and then run the unit test.
script/cibuild performs the following actions will bootstrap the environment to build gh-ost correctly, build, perform syntax checks and run unit tests.
If additional steps are needed, please add them into this workflow so that the workflow remains simple.
To enfore best-practices, Pull Requests are automatically linted by golang-ci. The linter config is located at .golangci.yml and the golangci-lint GitHub Action is located at .github/workflows/golangci-lint.yml.
To run the golang-ci linters locally (recommended before push), use script/lint.
Currently, script/ensure-go-installed will install go for Mac OS X and Linux. We welcome PR's to add other platforms.