Skip to content

Latest commit

 

History

History
64 lines (46 loc) · 1.77 KB

File metadata and controls

64 lines (46 loc) · 1.77 KB

Contributing

We are actively developing PDX and accepting contributions! Any kind of PR is welcome.

These are our current priorities:

Features:

  • Out-of-core execution (disk-based setting).
  • Implement multi-threading capabilities.
  • Add PDX to the VIBE benchmark.

Improvements:

  • Regression tests on CI.

Getting Started

  1. Fork the repository on GitHub and create a feature branch:
git checkout -b my-feature
  1. Make your changes.
  2. Run the test suite locally before submitting your PR.
  3. Open a Pull Request (PR) against the main branch.

Important

Let us know in advance if you plan implementing a big feature!

Testing

All PRs must pass the full test suite in CI. Before submitting a PR, you should run tests locally:

# C++ tests
cmake . -DPDX_COMPILE_TESTS=ON
make -j$(nproc) tests
ctest .

Tests are also prone to bugs. If that is the case, please open an Issue.

Submitting a PR

  • Open your PR against the main branch.
  • Make sure your branch is rebased on top of main before submission.
  • Verify that CI passes.
  • Keep PRs focused — small, logical changes are easier to review and merge.

Coding Style

  • Function, Class, and Struct names: PascalCase
  • Variables and Class/Struct member names: snake_case
  • Constants and magic variables: UPPER_SNAKE_CASE
  • Avoid new and delete
  • There is a .clang-format in the project. Make sure to adhere to it. We have provided scripts to check and format the files within the project:
pip install clang-format==18.1.8
./scripts/format_check.sh   # Checks the formatting
./scripts/format.sh         # Fix the formatting

Communication

  • Use GitHub Issues for bug reports and feature requests.