|
| 1 | +### Contributing |
| 2 | + |
| 3 | +This document outlines how you can contribute to Parseable. |
| 4 | + |
| 5 | +Thank you for considering to contribute to Parseable. The goal of this document is to provide everything you need to start your contribution. We encourage all contributions, including but not limited to: |
| 6 | +- Code patches, bug fixes. |
| 7 | +- Tutorials or blog posts. |
| 8 | +- Improving the documentation. |
| 9 | +- Submitting [bug reports](https://github.com/parseablehq/parseable/issues/new). |
| 10 | + |
| 11 | +### Prerequisites |
| 12 | + |
| 13 | +- Your PR has an associated issue. Find an [existing issue](https://github.com/parseablehq/parseable/issues) or open a new issue. |
| 14 | +- You've discussed the with [Parseable community](https://logg.ing/community). |
| 15 | +- You're familiar with GitHub Pull Requests(PR) workflow. |
| 16 | +- You've read the [Parseable documentation](https://www.parseable.com/docs). |
| 17 | + |
| 18 | +### Contribution workflow |
| 19 | + |
| 20 | +- Fork the [Parseable repository](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) in your own GitHub account. |
| 21 | +- [Create a new branch](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository). |
| 22 | +- Review the Development Workflow section that describes the steps to maintain the repository. |
| 23 | +- Make your changes on your branch. |
| 24 | +- Submit the branch as a Pull Request pointing to the main branch of the Parseable repository. A maintainer should comment and/or review your Pull Request within a few hours. |
| 25 | +- You’ll be asked to review & sign the [Parseable Contributor License Agreement (CLA)](https://github.com/parseablehq/.github/blob/main/CLA.md) on the GitHub PR. Please ensure that you review the document. Once you’re ready, please sign the CLA by adding a comment I have read the CLA Document and I hereby sign the CLA in your Pull Request. |
| 26 | +- Please ensure that the commits in your Pull Request are made by the same GitHub user (which was used to create the PR and add the comment). |
| 27 | + |
| 28 | +### Development workflow |
| 29 | + |
| 30 | +We recommend Linux or macOS as the development platform for Parseable. |
| 31 | + |
| 32 | +#### Setup and run Parseable |
| 33 | + |
| 34 | +Parseable needs Rust 1.77.1 or above. Use the below command to build and run Parseable binary with local mode. |
| 35 | + |
| 36 | +```sh |
| 37 | +cargo run --release local-store |
| 38 | +``` |
| 39 | + |
| 40 | +We recommend using the --release flag to test the full performance of Parseable. |
| 41 | + |
| 42 | +#### Running Tests |
| 43 | + |
| 44 | +```sh |
| 45 | +cargo test |
| 46 | +``` |
| 47 | + |
| 48 | +This command will be triggered to each PR as a requirement for merging it. |
| 49 | + |
| 50 | +If you get a "Too many open files" error you might want to increase the open file limit using this command: |
| 51 | + |
| 52 | +```sh |
| 53 | +ulimit -Sn 3000 |
| 54 | +``` |
| 55 | + |
| 56 | +If you get a OpenSSL related error while building Parseable, you might need to install the dependencies using this command: |
| 57 | + |
| 58 | +```sh |
| 59 | +sudo apt install build-essential |
| 60 | +sudo apt-get install libssl-dev |
| 61 | +sudo apt-get install pkg-config |
| 62 | +``` |
| 63 | + |
| 64 | +### Git Guidelines |
| 65 | + |
| 66 | +- The PR title should be accurate and descriptive of the changes. |
| 67 | +- The draft PRs are recommended when you want to show that you are working on something and make your work visible. Convert your PR as a draft if your changes are a work in progress. Maintainers will review the PR once you mark your PR as ready for review. |
| 68 | +- The branch related to the PR must be up-to-date with main before merging. We use Bors to automatically enforce this requirement without the PR author having to rebase manually. |
0 commit comments