The SplinterDB project welcomes contributions from the community.
This page presents guidelines for contributing to SplinterDB. Following the guidelines helps to make the contribution process easy, collaborative, and productive.
Please search through our GitHub Issues for existing issues related to your need. If something new is appropriate:
- For bug reports, be as specific as possible about the error and the conditions under which it occurred.
- For feature requests, please provide as much context as possible about your use case.
For small obvious fixes, follow the steps below. For larger changes, please first open an Issue that describes your need (talk, then code).
-
Follow build for instructions on building from source and follow testing for instructions on testing your changes.
-
Before submitting code, please ensure that:
-
Code builds:
$ make
-
All Tests pass:
$ make test-results
-
Code is formatted properly:
$ ./format-check.sh fixall
To get an automatic format check on every git commit, add a pre-commit hook:
ln -s -f ../../format-check.sh .git/hooks/pre-commit
-
-
Then open a Pull Request. You'll need to wait for a project maintainer to add the
ok-to-test
label to your PR. Then our continuous integration (CI) system will run checks, which can take a couple hours. Also, if you have not signed our Contributor License Agreement (CLA), a "CLA-bot" will take you through the process and update the issue. If you have questions about the CLA process, see our CLA FAQ or just ask for help on your pull request.